From 2af64a9e60bc59f5749bb1fb4bfded9491e6ca04 Mon Sep 17 00:00:00 2001 From: Jordi Baylina Date: Wed, 4 Oct 2017 12:55:46 +0200 Subject: [PATCH] find to findOrCreate name refactor --- build/ILiquidPledgingPlugin.sol.js | 4 +-- build/ILiquidPledgingPlugin_all.sol | 12 ++++----- build/LiquidPledging.sol.js | 8 +++--- build/LiquidPledgingBase.sol.js | 6 ++--- build/LiquidPledgingBase_all.sol | 14 +++++------ build/LiquidPledgingMock.sol.js | 10 ++++---- build/LiquidPledgingMock_all.sol | 38 ++++++++++++++--------------- build/LiquidPledging_all.sol | 38 ++++++++++++++--------------- contracts/ILiquidPledgingPlugin.sol | 12 ++++----- contracts/LiquidPledging.sol | 24 +++++++++--------- contracts/LiquidPledgingBase.sol | 2 +- 11 files changed, 84 insertions(+), 84 deletions(-) diff --git a/build/ILiquidPledgingPlugin.sol.js b/build/ILiquidPledgingPlugin.sol.js index 6a5e4df..9e4565a 100644 --- a/build/ILiquidPledgingPlugin.sol.js +++ b/build/ILiquidPledgingPlugin.sol.js @@ -1,6 +1,6 @@ /* This is an autogenerated file. DO NOT EDIT MANUALLY */ -exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] +exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] exports.ILiquidPledgingPluginByteCode = "0x" exports._solcVersion = "0.4.15+commit.bbb8e64f.Emscripten.clang" -exports._sha256 = "0xef8854fe0982df3dec97b6aec02e2d850ad86c960ca5b3545346b7ca4c5e8c48" +exports._sha256 = "0x459746b8fd9702f2cc9d65c3f59f37610e76e6ec5739d5bd5ba1c694dba94edd" diff --git a/build/ILiquidPledgingPlugin_all.sol b/build/ILiquidPledgingPlugin_all.sol index 90f14c4..119cec2 100644 --- a/build/ILiquidPledgingPlugin_all.sol +++ b/build/ILiquidPledgingPlugin_all.sol @@ -19,16 +19,16 @@ contract ILiquidPledgingPlugin { /// ... /// 511 -> Plugin for the intendedCampaign receiving pledge to another party function beforeTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount ) returns (uint maxAllowed); function afterTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount); } diff --git a/build/LiquidPledging.sol.js b/build/LiquidPledging.sol.js index 87b374c..eedd8a1 100644 --- a/build/LiquidPledging.sol.js +++ b/build/LiquidPledging.sol.js @@ -1,12 +1,12 @@ /* This is an autogenerated file. DO NOT EDIT MANUALLY */ -exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] +exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] exports.ILiquidPledgingPluginByteCode = "0x" exports.LiquidPledgingAbi = [{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"confirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"intendedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"},{"name":"idReceiver","type":"uint64"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"normalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mWithdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"}],"name":"cancelCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPledge","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledges","type":"uint256[]"}],"name":"mNormalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"idReceiver","type":"uint64"}],"name":"donate","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"pledgesAmounts","type":"uint256[]"},{"name":"idReceiver","type":"uint64"}],"name":"mTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mCancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"uint64"},{"indexed":true,"name":"to","type":"uint64"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CancelCampaign","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b60405160208062004f42833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000259565b8154818355818115116200009d576005028160050283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200014c565b5b505050565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001be565b62000117600283016000620001be565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff191690556200018360028301826200020a565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e6575062000206565b601f01602090049060005260206000209081019062000206919062000235565b5b50565b50805460008255600301600490049060005260206000209081019062000206919062000235565b5b50565b6200014991905b808211156200014557600081556001016200023c565b5090565b90565b614cd980620002696000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632287b3aa146101f75780632a8ec8cc146102cf5780632ee88808146102f45780633f657a4614610318578063433879831461039657806347c5ef43146103ba57806350f8a803146103eb57806352dc7dcc146104265780635503d9ba146104ee57806357adafb6146105135780635c1de885146105645780637f61fa93146106215780638fe1f2ce146106e95780639398f5a21461071c578063a7e474d51461076d578063af9f45631461078e578063bce0906d146107b2578063bde60ac91461081d578063cc19ecf714610839578063d639cd73146108f6578063db7c231414610960578063e9c211e214610a1d578063eba8ba0614610a41578063ef3766e414610b99578063fbfa77cf14610bea575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610c19565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101ba5780820151818401525b6020016101a1565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020257600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150610d409050565b6040516001604060020a03909116815260200160405180910390f35b34156102da57600080fd5b6102e261118f565b60405190815260200160405180910390f35b34156102ff57600080fd5b6103166001604060020a036004351660243561119a565b005b341561032357600080fd5b6103376001604060020a03600435166112e0565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561037c57fe5b60ff16815260200197505050505050505060405180910390f35b34156103a157600080fd5b6103166001604060020a036004351660243561134d565b005b34156103c557600080fd5b6103166001604060020a0360043581169060243581169060443590606435166116f2565b005b34156103f657600080fd5b6102b36001604060020a0360043516611d93565b6040516001604060020a03909116815260200160405180910390f35b341561043157600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611f5f915050565b6040516001604060020a03909116815260200160405180910390f35b34156104f957600080fd5b6102e2612150565b60405190815260200160405180910390f35b341561051e57600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061215b95505050505050565b005b341561056f57600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506121ce915050565b005b341561062c57600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506122bb915050565b6040516001604060020a03909116815260200160405180910390f35b34156106f457600080fd5b6107086001604060020a03600435166124ab565b604051901515815260200160405180910390f35b341561072757600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061255d95505050505050565b005b341561077857600080fd5b6103166001604060020a03600435166125d0565b005b341561079957600080fd5b6103166001604060020a036004351660243561282d565b005b34156107bd57600080fd5b6102b36004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650612a7b95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6103166001604060020a0360043581169060243516612ac8565b005b341561084457600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e03915050565b005b341561090157600080fd5b610316600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612ef0915050565b005b341561096b57600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612f67915050565b005b3415610a2857600080fd5b6103166001604060020a0360043516602435613054565b005b3415610a4c57600080fd5b610a606001604060020a036004351661317e565b60405180896002811115610a7057fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610af25780820151818401525b602001610ad9565b50505050905090810190601f168015610b1f5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610b565780820151818401525b602001610b3d565b50505050905090810190601f168015610b835780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610ba457600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061334495505050505050565b005b3415610bf557600080fd5b610bfd6133b7565b604051600160a060020a03909116815260200160405180910390f35b600080610c246148b8565b600080610c30876133c6565b91508160020160018703815481101515610c4657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610c7b8561340f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b505050505092505b50509250925092565b6000806001604060020a03851615610f9857610d5b8561340f565b905060025b815460ff166002811115610d7057fe5b14610d7a57600080fd5b805433600160a060020a039081166101009092041614610d9957600080fd5b6014610f8e826101006040519081016040528154909190829060ff166002811115610dc057fe5b6002811115610dcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e975780601f10610e6c57610100808354040283529160200191610e97565b820191906000526020600020905b815481529060010190602001808311610e7a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f395780601f10610f0e57610100808354040283529160200191610f39565b820191906000526020600020905b815481529060010190602001808311610f1c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261345a565b10610f9857600080fd5b5b60018054925082808201610fad83826148ca565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561102f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516110759291602001906148fc565b506060820151816002019080516110909291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600254600090819033600160a060020a039081169116146111ba57600080fd5b6111c3846133c6565b915060015b600383015460c060020a900460ff1660028111156111e257fe5b146111ec57600080fd5b836001604060020a03166111ff8561369c565b6001604060020a03161461121257600080fd5b60018201546002830180546112cb926001604060020a031691906020808202016040519081016040528092919081815260200182805480156112a557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116112625790505b505050506003860154600091508190608060020a90046001604060020a03166002613766565b90506112d8848285613a58565b5b5b50505050565b6000806000806000806000806112f5896133c6565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b600080600061135b85611d93565b9450611366856133c6565b925060005b600384015460c060020a900460ff16600281111561138557fe5b1461138f57600080fd5b60018301546113a6906001604060020a031661340f565b915061159b826101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b6001830154600284018054611654926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561162e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115eb5790505b505050506003870154600091508190608060020a90046001604060020a03166001613766565b9050611661858286613a58565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b15156116d657600080fd5b6102c65a03f115156116e757600080fd5b5050505b5050505050565b600080600080600061170388611d93565b975061170e886133c6565b94506117198661340f565b93506117248961340f565b9250611919836101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60005b600386015460c060020a900460ff16600281111561193657fe5b1461194057600080fd5b60018501546001604060020a038a8116911614156119dd5760005b845460ff16600281111561196b57fe5b14156119815761197c888888613b6a565b6119d5565b60025b845460ff16600281111561199457fe5b14156119aa5761197c888888613bb0565b6119d5565b60015b845460ff1660028111156119bd57fe5b14156119d35761197c888888613dfc565b6119d5565bfe5b5b5b5b611d87565b611b0e8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611aa757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611a645790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611afa57fe5b6002811115611b0557fe5b9052508a613f30565b6001604060020a03908116925082146119d35760005b845460ff166002811115611b3457fe5b1415611b6a5760018501546001604060020a03878116911614611b5357fe5b6119d588888760020180549050613f97565b611d87565b60015b845460ff166002811115611b7d57fe5b1415611d4457611cb48560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611c4d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611c0a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611ca057fe5b6002811115611cab57fe5b90525087613f30565b6001604060020a039081169150811415611cef57611cdf888860018589600201805490500303613f97565b61197c888888613dfc565b6119d5565b81811115611d1e57611cdf888860018589600201805490500303613f97565b61197c888888613dfc565b6119d5565b8181116119d5576119d5888860018489600201805490500303613f97565b5b5b5b611d87565b60025b845460ff166002811115611d5757fe5b14156119d357611d74888860018589600201805490500303613f97565b6119d588888861409d565b611d87565b5bfe5b5b505050505050505050565b600080600080611da2856133c6565b925060005b600384015460c060020a900460ff166002811115611dc157fe5b14611dce57849350611f57565b600383015460006001604060020a03909116118015611e0757506003830154604060020a90046001604060020a0316611e056143ec565b115b15611f25576001830154600284018054611ec4926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611e9f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611e5c5790505b505050506003870154600091508190608060020a90046001604060020a031681613766565b6003840154909250611f05906001604060020a03166000604051805910611ee85750595b908082528060200260200182016040525b50600080866000613766565b9050611f1685828560000154613a58565b809450611f22856133c6565b92505b611f2e8561369c565b90506001604060020a0380821690861614611f5257611f5285828560000154613a58565b5b8093505b505050919050565b600180549081808201611f7283826148ca565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611ff357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516120399291602001906148fc565b506060820151816002019080516120549291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b83518310156112d8576001604060020a0384848151811061217d57fe5b90602001906020020151169150604060020a84848151811061219b57fe5b906020019060200201518115156121ae57fe5b0490506121bb828261134d565b5b600190920191612160565b5b50505050565b60006121d98661340f565b905060025b815460ff1660028111156121ee57fe5b146121f857600080fd5b805433600160a060020a03908116610100909204161461221757600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161224a9291602001906148fc565b50600281018380516122609291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016122ce83826148ca565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561234f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516123959291602001906148fc565b506060820151816002019080516123b09291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806124b78361340f565b905060005b815460ff1660028111156124cc57fe5b14156124db5760009150612557565b60025b815460ff1660028111156124ee57fe5b146124f557fe5b6003810154608060020a900460ff16156125125760019150612557565b6003810154604060020a90046001604060020a031615156125365760009150612557565b600381015461255490604060020a90046001604060020a03166124ab565b91505b50919050565b600080805b83518310156112d8576001604060020a0384848151811061257f57fe5b90602001906020020151169150604060020a84848151811061259d57fe5b906020019060200201518115156125b057fe5b0490506125bd828261119a565b5b600190920191612562565b5b50505050565b60006125db8261340f565b90506127d0816101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b60008061283984611d93565b9350612844846133c6565b600181015490925061285e906001604060020a031661340f565b9050612a53816101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60038201546112d8908590608060020a90046001604060020a031685613a58565b5b50505050565b600080805b8351821015612ac0576001604060020a03848381518110612a9d57fe5b90602001906020020151169050612ab381611d93565b505b600190910190612a80565b5b5050919050565b60008080806001604060020a0386161515612b0e57612b0b6020604051908101604052806000815250602060405190810160405260008082526203f480906122bb565b95505b612b178661340f565b9350612d0c846101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60005b845460ff166002811115612d1f57fe5b14612d2957600080fd5b34925060008311612d3957600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612d6c57600080fd5b612d9c866000604051805910612d7f5750595b908082528060200260200182016040525b50600080600080613766565b9150612da7826133c6565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36122b3868385886116f2565b5b505050505050565b6000612e0e8661340f565b905060015b815460ff166002811115612e2357fe5b14612e2d57600080fd5b805433600160a060020a039081166101009092041614612e4c57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612e7f9291602001906148fc565b5060028101838051612e959291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b84518310156122b3576001604060020a03858481518110612f1257fe5b90602001906020020151169150604060020a858481518110612f3057fe5b90602001906020020151811515612f4357fe5b049050612f52868383876116f2565b5b600190920191612ef5565b5b505050505050565b6000612f728661340f565b905060005b815460ff166002811115612f8757fe5b14612f9157600080fd5b805433600160a060020a039081166101009092041614612fb057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612fe39291602001906148fc565b5060028101838051612ff99291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a0390811691161461307457600080fd5b61307d846133c6565b915060015b600383015460c060020a900460ff16600281111561309c57fe5b146130a657600080fd5b600182015460028301805461315e926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561313957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116130f65790505b505050506003860154600091508190608060020a90046001604060020a031681613766565b90506112cb81611d93565b90506112d8848285613a58565b5b5b50505050565b6000806131896148b8565b6131916148b8565b60008060008060006131a28a61340f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156132585780601f1061322d57610100808354040283529160200191613258565b820191906000526020600020905b81548152906001019060200180831161323b57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132f75780601f106132cc576101008083540402835291602001916132f7565b820191906000526020600020905b8154815290600101906020018083116132da57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b83518310156112d8576001604060020a0384848151811061336657fe5b90602001906020020151169150604060020a84848151811061338457fe5b9060200190602002015181151561339757fe5b0490506133a48282613054565b5b600190920191613349565b5b50505050565b600254600160a060020a031681565b600080546001604060020a038316106133de57600080fd5b600080546001604060020a0384169081106133f557fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061342957600080fd5b600180546001604060020a03841690811061344057fe5b906000526020600020906005020160005b5090505b919050565b60008060025b8351600281111561346d57fe5b1461347457fe5b8260a001516001604060020a031615156134915760019150612557565b61349e8360a0015161340f565b9050612554816101006040519081016040528154909190829060ff166002811115610dc057fe5b6002811115610dcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e975780601f10610e6c57610100808354040283529160200191610e97565b820191906000526020600020905b815481529060010190602001808311610e7a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f395780601f10610f0e57610100808354040283529160200191610f39565b820191906000526020600020905b815481529060010190602001808311610f1c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261345a565b91505b50919050565b600080806001604060020a03841615156136b95760009250612ac0565b6136c2846133c6565b60018101549092506136dc906001604060020a031661340f565b905060005b815460ff1660028111156136f157fe5b14156136ff57839250612ac0565b60025b815460ff16600281111561371257fe5b1461371957fe5b6001820154613730906001604060020a03166124ab565b151561373e57839250612ac0565b600382015461375c90608060020a90046001604060020a031661369c565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156137b45780820151818401525b60200161379b565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a02815260080182600281111561382157fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a03909116915081111561388a57809250613a4c565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016138c883826149fa565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561393a57fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613985929160200190614a2c565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115613a4057fe5b02179055505050508092505b50509695505050505050565b6000806000613a6a60018787876143f1565b9250846001604060020a0316866001604060020a03161415613a8b576122b3565b821515613a97576122b3565b613aa0866133c6565b9150613aab856133c6565b825490915083901015613abd57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3613b1860008787866143f1565b505b505050505050565b8060200151600160a060020a031633600160a060020a03161480613b5b57508060e00151600160a060020a031633600160a060020a0316145b1515613b6657600080fd5b5b50565b60006112cb826000604051805910612d7f5750595b908082528060200260200182016040525b50600080600080613766565b90506112d8848285613a58565b5b50505050565b6000806000613bbe866133c6565b92506014613cf28460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b10613cfc57600080fd5b6001830154600284018054613db4926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611e9f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611e5c5790505b505050506003870154600091508190608060020a90046001604060020a031681613766565b9150613de6846000604051805910611ee85750595b908082528060200260200182016040525b50600080866000613766565b90506122b3868287613a58565b5b505050505050565b6000613e066148b8565b600080613e12876133c6565b600281015490945060149010613e2757600080fd5b6002840154600101604051805910613e3c5750595b908082528060200260200182016040525b509250600091505b6002840154821015613eca5760028401805483908110613e7157fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613ea757fe5b6001604060020a039092166020928302909101909101525b600190910190613e55565b60028401548590849081518110613edd57fe5b6001604060020a039283166020918202909201015260018501546003860154613f19929182169186916000918291608060020a90041681613766565b9050613b18878288613a58565b5b50505050505050565b6000805b836040015151811015613f8557826001604060020a031684604001518281518110613f5b57fe5b906020019060200201516001604060020a03161415613f7c57809150613f90565b5b600101613f34565b6001604060020a0391505b5092915050565b6000613fa16148b8565b600080613fad876133c6565b6002810154909450859003604051805910613fc55750595b908082528060200260200182016040525b509250600091505b60028401548590038210156140565760028401805483908110613ffd57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061403357fe5b6001604060020a039092166020928302909101909101525b600190910190613fde565b60018401546003850154613f19916001604060020a039081169186916000918291608060020a9091041681613766565b9050613b18878288613a58565b5b50505050505050565b6000806140a9856133c6565b915060146141dd8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b106141e757600080fd5b60018201546002830180546143d7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561427a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116142375790505b5050505050856143b08660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561434a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116143075790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561439d57fe5b60028111156143a857fe5b905250614584565b6143b86143ec565b6003880154910190608060020a90046001604060020a03166000613766565b90506116eb858286613a58565b5b5050505050565b425b90565b806143ff8585808685614617565b905061440e8584868685614617565b90505b949350505050565b6000808260a001516001604060020a031615156144395760009150612557565b6144468360a001516133c6565b90506145788160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b60010191505b50919050565b6000806000614596846020015161340f565b60038101546001604060020a031693509150600090505b836040015151811015612ac0576145dc846040015182815181106145cd57fe5b9060200190602002015161340f565b60038101549092506001604060020a0316839011156146065760038201546001604060020a031692505b5b6001016145ad565b5b5050919050565b600080600080866001604060020a0316886001604060020a03161461463e57610100614641565b60005b61ffff169250849350614653886133c6565b6001810154909250614673908a906001604060020a031689898789614738565b9350600090505b60028201546001604060020a03821610156146f0576146e58983600201836001604060020a03168154811015156146ad57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189614738565b93505b60010161467a565b600382015460006001604060020a03909116111561472b576003820154614728908a906001604060020a0316898960ff880189614738565b93505b5b50505095945050505050565b806000806147458861340f565b6004810154909150600160a060020a0316158015906147645750600083115b15613a4c57881561481f576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b15156147ee57600080fd5b6102c65a03f115156147ff57600080fd5b50505060405180519250508282111561481757600080fd5b819250613a4c565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561489557600080fd5b6102c65a03f115156148a657600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b8154818355818115116148f6576005028160050283600052602060002091820191016148f69190614af6565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061493d57805160ff191683800117855561496a565b8280016001018555821561496a579182015b8281111561496a57825182559160200191906001019061494f565b5b50614977929150614b88565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061493d57805160ff191683800117855561496a565b8280016001018555821561496a579182015b8281111561496a57825182559160200191906001019061494f565b5b50614977929150614b88565b5090565b8154818355818115116148f6576004028160040283600052602060002091820191016148f69190614ba9565b5b505050565b82805482825590600052602060002090600301600490048101928215614ad45791602002820160005b83821115614a9f57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614a55565b8015614ad25782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614a9f565b505b50614977929150614c10565b5090565b60206040519081016040526000815290565b61119791905b8082111561497757805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b2f6001830182614c3c565b614b3d600283016000614c3c565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614afc565b5090565b90565b61119791905b808211156149775760008155600101614b8e565b5090565b90565b61119791905b8082111561497757600080825560018201805467ffffffffffffffff19169055614bdc6002830182614c84565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614baf565b5090565b90565b61119791905b8082111561497757805467ffffffffffffffff19168155600101614c16565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614c625750613b66565b601f016020900490600052602060002090810190613b669190614b88565b5b50565b508054600082556003016004900490600052602060002090810190613b669190614b88565b5b505600a165627a7a72305820bc159f7b3e659d804fbc82aa4f724d81e6e361cc1421cd9b6353b90c0dc1a96d0029" +exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b60405160208062004f42833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000259565b8154818355818115116200009d576005028160050283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200014c565b5b505050565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001be565b62000117600283016000620001be565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff191690556200018360028301826200020a565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e6575062000206565b601f01602090049060005260206000209081019062000206919062000235565b5b50565b50805460008255600301600490049060005260206000209081019062000206919062000235565b5b50565b6200014991905b808211156200014557600081556001016200023c565b5090565b90565b614cd980620002696000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632287b3aa146101f75780632a8ec8cc146102cf5780632ee88808146102f45780633f657a4614610318578063433879831461039657806347c5ef43146103ba57806350f8a803146103eb57806352dc7dcc146104265780635503d9ba146104ee57806357adafb6146105135780635c1de885146105645780637f61fa93146106215780638fe1f2ce146106e95780639398f5a21461071c578063a7e474d51461076d578063af9f45631461078e578063bce0906d146107b2578063bde60ac91461081d578063cc19ecf714610839578063d639cd73146108f6578063db7c231414610960578063e9c211e214610a1d578063eba8ba0614610a41578063ef3766e414610b99578063fbfa77cf14610bea575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610c19565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101ba5780820151818401525b6020016101a1565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020257600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150610d409050565b6040516001604060020a03909116815260200160405180910390f35b34156102da57600080fd5b6102e261118f565b60405190815260200160405180910390f35b34156102ff57600080fd5b6103166001604060020a036004351660243561119a565b005b341561032357600080fd5b6103376001604060020a03600435166112e0565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561037c57fe5b60ff16815260200197505050505050505060405180910390f35b34156103a157600080fd5b6103166001604060020a036004351660243561134d565b005b34156103c557600080fd5b6103166001604060020a0360043581169060243581169060443590606435166116f2565b005b34156103f657600080fd5b6102b36001604060020a0360043516611d93565b6040516001604060020a03909116815260200160405180910390f35b341561043157600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611f5f915050565b6040516001604060020a03909116815260200160405180910390f35b34156104f957600080fd5b6102e2612150565b60405190815260200160405180910390f35b341561051e57600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061215b95505050505050565b005b341561056f57600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506121ce915050565b005b341561062c57600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506122bb915050565b6040516001604060020a03909116815260200160405180910390f35b34156106f457600080fd5b6107086001604060020a03600435166124ab565b604051901515815260200160405180910390f35b341561072757600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061255d95505050505050565b005b341561077857600080fd5b6103166001604060020a03600435166125d0565b005b341561079957600080fd5b6103166001604060020a036004351660243561282d565b005b34156107bd57600080fd5b6102b36004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650612a7b95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6103166001604060020a0360043581169060243516612ac8565b005b341561084457600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e03915050565b005b341561090157600080fd5b610316600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612ef0915050565b005b341561096b57600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612f67915050565b005b3415610a2857600080fd5b6103166001604060020a0360043516602435613054565b005b3415610a4c57600080fd5b610a606001604060020a036004351661317e565b60405180896002811115610a7057fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610af25780820151818401525b602001610ad9565b50505050905090810190601f168015610b1f5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610b565780820151818401525b602001610b3d565b50505050905090810190601f168015610b835780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610ba457600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061334495505050505050565b005b3415610bf557600080fd5b610bfd6133b7565b604051600160a060020a03909116815260200160405180910390f35b600080610c246148b8565b600080610c30876133c6565b91508160020160018703815481101515610c4657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610c7b8561340f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b505050505092505b50509250925092565b6000806001604060020a03851615610f9857610d5b8561340f565b905060025b815460ff166002811115610d7057fe5b14610d7a57600080fd5b805433600160a060020a039081166101009092041614610d9957600080fd5b6014610f8e826101006040519081016040528154909190829060ff166002811115610dc057fe5b6002811115610dcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e975780601f10610e6c57610100808354040283529160200191610e97565b820191906000526020600020905b815481529060010190602001808311610e7a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f395780601f10610f0e57610100808354040283529160200191610f39565b820191906000526020600020905b815481529060010190602001808311610f1c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261345a565b10610f9857600080fd5b5b60018054925082808201610fad83826148ca565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561102f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516110759291602001906148fc565b506060820151816002019080516110909291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600254600090819033600160a060020a039081169116146111ba57600080fd5b6111c3846133c6565b915060015b600383015460c060020a900460ff1660028111156111e257fe5b146111ec57600080fd5b836001604060020a03166111ff8561369c565b6001604060020a03161461121257600080fd5b60018201546002830180546112cb926001604060020a031691906020808202016040519081016040528092919081815260200182805480156112a557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116112625790505b505050506003860154600091508190608060020a90046001604060020a03166002613766565b90506112d8848285613a58565b5b5b50505050565b6000806000806000806000806112f5896133c6565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b600080600061135b85611d93565b9450611366856133c6565b925060005b600384015460c060020a900460ff16600281111561138557fe5b1461138f57600080fd5b60018301546113a6906001604060020a031661340f565b915061159b826101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b6001830154600284018054611654926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561162e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115eb5790505b505050506003870154600091508190608060020a90046001604060020a03166001613766565b9050611661858286613a58565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b15156116d657600080fd5b6102c65a03f115156116e757600080fd5b5050505b5050505050565b600080600080600061170388611d93565b975061170e886133c6565b94506117198661340f565b93506117248961340f565b9250611919836101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60005b600386015460c060020a900460ff16600281111561193657fe5b1461194057600080fd5b60018501546001604060020a038a8116911614156119dd5760005b845460ff16600281111561196b57fe5b14156119815761197c888888613b6a565b6119d5565b60025b845460ff16600281111561199457fe5b14156119aa5761197c888888613bb0565b6119d5565b60015b845460ff1660028111156119bd57fe5b14156119d35761197c888888613dfc565b6119d5565bfe5b5b5b5b611d87565b611b0e8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611aa757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611a645790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611afa57fe5b6002811115611b0557fe5b9052508a613f30565b6001604060020a03908116925082146119d35760005b845460ff166002811115611b3457fe5b1415611b6a5760018501546001604060020a03878116911614611b5357fe5b6119d588888760020180549050613f97565b611d87565b60015b845460ff166002811115611b7d57fe5b1415611d4457611cb48560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611c4d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611c0a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611ca057fe5b6002811115611cab57fe5b90525087613f30565b6001604060020a039081169150811415611cef57611cdf888860018589600201805490500303613f97565b61197c888888613dfc565b6119d5565b81811115611d1e57611cdf888860018589600201805490500303613f97565b61197c888888613dfc565b6119d5565b8181116119d5576119d5888860018489600201805490500303613f97565b5b5b5b611d87565b60025b845460ff166002811115611d5757fe5b14156119d357611d74888860018589600201805490500303613f97565b6119d588888861409d565b611d87565b5bfe5b5b505050505050505050565b600080600080611da2856133c6565b925060005b600384015460c060020a900460ff166002811115611dc157fe5b14611dce57849350611f57565b600383015460006001604060020a03909116118015611e0757506003830154604060020a90046001604060020a0316611e056143ec565b115b15611f25576001830154600284018054611ec4926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611e9f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611e5c5790505b505050506003870154600091508190608060020a90046001604060020a031681613766565b6003840154909250611f05906001604060020a03166000604051805910611ee85750595b908082528060200260200182016040525b50600080866000613766565b9050611f1685828560000154613a58565b809450611f22856133c6565b92505b611f2e8561369c565b90506001604060020a0380821690861614611f5257611f5285828560000154613a58565b5b8093505b505050919050565b600180549081808201611f7283826148ca565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611ff357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516120399291602001906148fc565b506060820151816002019080516120549291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b83518310156112d8576001604060020a0384848151811061217d57fe5b90602001906020020151169150604060020a84848151811061219b57fe5b906020019060200201518115156121ae57fe5b0490506121bb828261134d565b5b600190920191612160565b5b50505050565b60006121d98661340f565b905060025b815460ff1660028111156121ee57fe5b146121f857600080fd5b805433600160a060020a03908116610100909204161461221757600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161224a9291602001906148fc565b50600281018380516122609291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016122ce83826148ca565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561234f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516123959291602001906148fc565b506060820151816002019080516123b09291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806124b78361340f565b905060005b815460ff1660028111156124cc57fe5b14156124db5760009150612557565b60025b815460ff1660028111156124ee57fe5b146124f557fe5b6003810154608060020a900460ff16156125125760019150612557565b6003810154604060020a90046001604060020a031615156125365760009150612557565b600381015461255490604060020a90046001604060020a03166124ab565b91505b50919050565b600080805b83518310156112d8576001604060020a0384848151811061257f57fe5b90602001906020020151169150604060020a84848151811061259d57fe5b906020019060200201518115156125b057fe5b0490506125bd828261119a565b5b600190920191612562565b5b50505050565b60006125db8261340f565b90506127d0816101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b60008061283984611d93565b9350612844846133c6565b600181015490925061285e906001604060020a031661340f565b9050612a53816101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60038201546112d8908590608060020a90046001604060020a031685613a58565b5b50505050565b600080805b8351821015612ac0576001604060020a03848381518110612a9d57fe5b90602001906020020151169050612ab381611d93565b505b600190910190612a80565b5b5050919050565b60008080806001604060020a0386161515612b0e57612b0b6020604051908101604052806000815250602060405190810160405260008082526203f480906122bb565b95505b612b178661340f565b9350612d0c846101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60005b845460ff166002811115612d1f57fe5b14612d2957600080fd5b34925060008311612d3957600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612d6c57600080fd5b612d9c866000604051805910612d7f5750595b908082528060200260200182016040525b50600080600080613766565b9150612da7826133c6565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36122b3868385886116f2565b5b505050505050565b6000612e0e8661340f565b905060015b815460ff166002811115612e2357fe5b14612e2d57600080fd5b805433600160a060020a039081166101009092041614612e4c57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612e7f9291602001906148fc565b5060028101838051612e959291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b84518310156122b3576001604060020a03858481518110612f1257fe5b90602001906020020151169150604060020a858481518110612f3057fe5b90602001906020020151811515612f4357fe5b049050612f52868383876116f2565b5b600190920191612ef5565b5b505050505050565b6000612f728661340f565b905060005b815460ff166002811115612f8757fe5b14612f9157600080fd5b805433600160a060020a039081166101009092041614612fb057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612fe39291602001906148fc565b5060028101838051612ff99291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a0390811691161461307457600080fd5b61307d846133c6565b915060015b600383015460c060020a900460ff16600281111561309c57fe5b146130a657600080fd5b600182015460028301805461315e926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561313957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116130f65790505b505050506003860154600091508190608060020a90046001604060020a031681613766565b90506112cb81611d93565b90506112d8848285613a58565b5b5b50505050565b6000806131896148b8565b6131916148b8565b60008060008060006131a28a61340f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156132585780601f1061322d57610100808354040283529160200191613258565b820191906000526020600020905b81548152906001019060200180831161323b57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132f75780601f106132cc576101008083540402835291602001916132f7565b820191906000526020600020905b8154815290600101906020018083116132da57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b83518310156112d8576001604060020a0384848151811061336657fe5b90602001906020020151169150604060020a84848151811061338457fe5b9060200190602002015181151561339757fe5b0490506133a48282613054565b5b600190920191613349565b5b50505050565b600254600160a060020a031681565b600080546001604060020a038316106133de57600080fd5b600080546001604060020a0384169081106133f557fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061342957600080fd5b600180546001604060020a03841690811061344057fe5b906000526020600020906005020160005b5090505b919050565b60008060025b8351600281111561346d57fe5b1461347457fe5b8260a001516001604060020a031615156134915760019150612557565b61349e8360a0015161340f565b9050612554816101006040519081016040528154909190829060ff166002811115610dc057fe5b6002811115610dcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e975780601f10610e6c57610100808354040283529160200191610e97565b820191906000526020600020905b815481529060010190602001808311610e7a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f395780601f10610f0e57610100808354040283529160200191610f39565b820191906000526020600020905b815481529060010190602001808311610f1c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261345a565b91505b50919050565b600080806001604060020a03841615156136b95760009250612ac0565b6136c2846133c6565b60018101549092506136dc906001604060020a031661340f565b905060005b815460ff1660028111156136f157fe5b14156136ff57839250612ac0565b60025b815460ff16600281111561371257fe5b1461371957fe5b6001820154613730906001604060020a03166124ab565b151561373e57839250612ac0565b600382015461375c90608060020a90046001604060020a031661369c565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156137b45780820151818401525b60200161379b565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a02815260080182600281111561382157fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a03909116915081111561388a57809250613a4c565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016138c883826149fa565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561393a57fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613985929160200190614a2c565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115613a4057fe5b02179055505050508092505b50509695505050505050565b6000806000613a6a60018787876143f1565b9250846001604060020a0316866001604060020a03161415613a8b576122b3565b821515613a97576122b3565b613aa0866133c6565b9150613aab856133c6565b825490915083901015613abd57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3613b1860008787866143f1565b505b505050505050565b8060200151600160a060020a031633600160a060020a03161480613b5b57508060e00151600160a060020a031633600160a060020a0316145b1515613b6657600080fd5b5b50565b60006112cb826000604051805910612d7f5750595b908082528060200260200182016040525b50600080600080613766565b90506112d8848285613a58565b5b50505050565b6000806000613bbe866133c6565b92506014613cf28460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b10613cfc57600080fd5b6001830154600284018054613db4926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611e9f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611e5c5790505b505050506003870154600091508190608060020a90046001604060020a031681613766565b9150613de6846000604051805910611ee85750595b908082528060200260200182016040525b50600080866000613766565b90506122b3868287613a58565b5b505050505050565b6000613e066148b8565b600080613e12876133c6565b600281015490945060149010613e2757600080fd5b6002840154600101604051805910613e3c5750595b908082528060200260200182016040525b509250600091505b6002840154821015613eca5760028401805483908110613e7157fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613ea757fe5b6001604060020a039092166020928302909101909101525b600190910190613e55565b60028401548590849081518110613edd57fe5b6001604060020a039283166020918202909201015260018501546003860154613f19929182169186916000918291608060020a90041681613766565b9050613b18878288613a58565b5b50505050505050565b6000805b836040015151811015613f8557826001604060020a031684604001518281518110613f5b57fe5b906020019060200201516001604060020a03161415613f7c57809150613f90565b5b600101613f34565b6001604060020a0391505b5092915050565b6000613fa16148b8565b600080613fad876133c6565b6002810154909450859003604051805910613fc55750595b908082528060200260200182016040525b509250600091505b60028401548590038210156140565760028401805483908110613ffd57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061403357fe5b6001604060020a039092166020928302909101909101525b600190910190613fde565b60018401546003850154613f19916001604060020a039081169186916000918291608060020a9091041681613766565b9050613b18878288613a58565b5b50505050505050565b6000806140a9856133c6565b915060146141dd8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b106141e757600080fd5b60018201546002830180546143d7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561427a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116142375790505b5050505050856143b08660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561434a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116143075790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561439d57fe5b60028111156143a857fe5b905250614584565b6143b86143ec565b6003880154910190608060020a90046001604060020a03166000613766565b90506116eb858286613a58565b5b5050505050565b425b90565b806143ff8585808685614617565b905061440e8584868685614617565b90505b949350505050565b6000808260a001516001604060020a031615156144395760009150612557565b6144468360a001516133c6565b90506145788160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b60010191505b50919050565b6000806000614596846020015161340f565b60038101546001604060020a031693509150600090505b836040015151811015612ac0576145dc846040015182815181106145cd57fe5b9060200190602002015161340f565b60038101549092506001604060020a0316839011156146065760038201546001604060020a031692505b5b6001016145ad565b5b5050919050565b600080600080866001604060020a0316886001604060020a03161461463e57610100614641565b60005b61ffff169250849350614653886133c6565b6001810154909250614673908a906001604060020a031689898789614738565b9350600090505b60028201546001604060020a03821610156146f0576146e58983600201836001604060020a03168154811015156146ad57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189614738565b93505b60010161467a565b600382015460006001604060020a03909116111561472b576003820154614728908a906001604060020a0316898960ff880189614738565b93505b5b50505095945050505050565b806000806147458861340f565b6004810154909150600160a060020a0316158015906147645750600083115b15613a4c57881561481f576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b15156147ee57600080fd5b6102c65a03f115156147ff57600080fd5b50505060405180519250508282111561481757600080fd5b819250613a4c565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561489557600080fd5b6102c65a03f115156148a657600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b8154818355818115116148f6576005028160050283600052602060002091820191016148f69190614af6565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061493d57805160ff191683800117855561496a565b8280016001018555821561496a579182015b8281111561496a57825182559160200191906001019061494f565b5b50614977929150614b88565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061493d57805160ff191683800117855561496a565b8280016001018555821561496a579182015b8281111561496a57825182559160200191906001019061494f565b5b50614977929150614b88565b5090565b8154818355818115116148f6576004028160040283600052602060002091820191016148f69190614ba9565b5b505050565b82805482825590600052602060002090600301600490048101928215614ad45791602002820160005b83821115614a9f57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614a55565b8015614ad25782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614a9f565b505b50614977929150614c10565b5090565b60206040519081016040526000815290565b61119791905b8082111561497757805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b2f6001830182614c3c565b614b3d600283016000614c3c565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614afc565b5090565b90565b61119791905b808211156149775760008155600101614b8e565b5090565b90565b61119791905b8082111561497757600080825560018201805467ffffffffffffffff19169055614bdc6002830182614c84565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614baf565b5090565b90565b61119791905b8082111561497757805467ffffffffffffffff19168155600101614c16565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614c625750613b66565b601f016020900490600052602060002090810190613b669190614b88565b5b50565b508054600082556003016004900490600052602060002090810190613b669190614b88565b5b505600a165627a7a72305820c458277aec1ce83ba4bbbe182fc3ba4b03bc0931088aff7aafaea4a0c2abc88c0029" exports.LiquidPledgingBaseAbi = [{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"intendedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fd3833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d6e80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632287b3aa146101835780632a8ec8cc1461025d5780633f657a461461028257806352dc7dcc146103025780635503d9ba146103cc5780635c1de885146103f15780637f61fa93146104b05780638fe1f2ce1461057a578063cc19ecf7146105ae578063db7c23141461066d578063eba8ba061461072c578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff6020820135811696506040820135169450606001351691506109dd9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561026857600080fd5b610270610e38565b60405190815260200160405180910390f35b341561028d57600080fd5b6102a267ffffffffffffffff60043516610e43565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102e857fe5b60ff16815260200197505050505050505060405180910390f35b341561030d57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610ecb915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103d757600080fd5b6102706110c1565b60405190815260200160405180910390f35b34156103fc57600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506110cc915050565b005b34156104bb57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506111ba915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561058557600080fd5b61059a67ffffffffffffffff600435166113af565b604051901515815260200160405180910390f35b34156105b957600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061146d915050565b005b341561067857600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061155b915050565b005b341561073757600080fd5b61074c67ffffffffffffffff60043516611649565b6040518089600281111561075c57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107df5780820151818401525b6020016107c6565b50505050905090810190601f16801561080c5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156108435780820151818401525b60200161082a565b50505050905090810190601f1680156108705780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561089157600080fd5b610899611815565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611b05565b6000806108cc87611824565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506109188561186f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b60008067ffffffffffffffff851615610c3c576109f98561186f565b905060025b815460ff166002811115610a0e57fe5b14610a1857600080fd5b805433600160a060020a039081166101009092041614610a3757600080fd5b6014610c32826101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b10610c3c57600080fd5b5b60018054925082808201610c518382611b17565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610cd457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610d1a929160200190611b49565b50606082015181600201908051610d35929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600080600080600080600080610e5889611824565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610ede8382611b17565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610f6057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610fa6929160200190611b49565b50606082015181600201908051610fc1929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60006110d78661186f565b905060025b815460ff1660028111156110ec57fe5b146110f657600080fd5b805433600160a060020a03908116610100909204161461111557600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611148929160200190611b49565b506002810183805161115e929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016111cd8382611b17565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561124f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611295929160200190611b49565b506060820151816002019080516112b0929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806113bb8361186f565b905060005b815460ff1660028111156113d057fe5b14156113df5760009150611467565b60025b815460ff1660028111156113f257fe5b146113f957fe5b6003810154608060020a900460ff16156114165760019150611467565b600381015468010000000000000000900467ffffffffffffffff1615156114405760009150611467565b60038101546114649068010000000000000000900467ffffffffffffffff166113af565b91505b50919050565b60006114788661186f565b905060015b815460ff16600281111561148d57fe5b1461149757600080fd5b805433600160a060020a0390811661010090920416146114b657600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114e9929160200190611b49565b50600281018380516114ff929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b60006115668661186f565b905060005b815460ff16600281111561157b57fe5b1461158557600080fd5b805433600160a060020a0390811661010090920416146115a457600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516115d7929160200190611b49565b50600281018380516115ed929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611654611b05565b61165c611b05565b600080600080600061166d8a61186f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156117235780601f106116f857610100808354040283529160200191611723565b820191906000526020600020905b81548152906001019060200180831161170657829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117c25780601f10611797576101008083540402835291602001916117c2565b820191906000526020600020905b8154815290600101906020018083116117a557829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061183d57600080fd5b6000805467ffffffffffffffff841690811061185557fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061188a57600080fd5b6001805467ffffffffffffffff84169081106118a257fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118cf57fe5b146118d657fe5b8260a0015167ffffffffffffffff1615156118f45760019150611467565b6119018360a0015161186f565b9050611464816101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b4357600502816005028360005260206000209182019101611b439190611c47565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b610e4091905b80821115611bc457805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c806001830182611cfa565b611c8e600283016000611cfa565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c4d565b5090565b90565b610e4091905b80821115611bc45760008155600101611cdf565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d205750611d3e565b601f016020900490600052602060002090810190611d3e9190611cd9565b5b505600a165627a7a72305820365f0c09a4105742e9178ee76962dc9719199ccdd79dc53548e4ffe5281162350029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fd3833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d6e80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632287b3aa146101835780632a8ec8cc1461025d5780633f657a461461028257806352dc7dcc146103025780635503d9ba146103cc5780635c1de885146103f15780637f61fa93146104b05780638fe1f2ce1461057a578063cc19ecf7146105ae578063db7c23141461066d578063eba8ba061461072c578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff6020820135811696506040820135169450606001351691506109dd9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561026857600080fd5b610270610e38565b60405190815260200160405180910390f35b341561028d57600080fd5b6102a267ffffffffffffffff60043516610e43565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102e857fe5b60ff16815260200197505050505050505060405180910390f35b341561030d57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610ecb915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103d757600080fd5b6102706110c1565b60405190815260200160405180910390f35b34156103fc57600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506110cc915050565b005b34156104bb57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506111ba915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561058557600080fd5b61059a67ffffffffffffffff600435166113af565b604051901515815260200160405180910390f35b34156105b957600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061146d915050565b005b341561067857600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061155b915050565b005b341561073757600080fd5b61074c67ffffffffffffffff60043516611649565b6040518089600281111561075c57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107df5780820151818401525b6020016107c6565b50505050905090810190601f16801561080c5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156108435780820151818401525b60200161082a565b50505050905090810190601f1680156108705780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561089157600080fd5b610899611815565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611b05565b6000806108cc87611824565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506109188561186f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b60008067ffffffffffffffff851615610c3c576109f98561186f565b905060025b815460ff166002811115610a0e57fe5b14610a1857600080fd5b805433600160a060020a039081166101009092041614610a3757600080fd5b6014610c32826101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b10610c3c57600080fd5b5b60018054925082808201610c518382611b17565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610cd457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610d1a929160200190611b49565b50606082015181600201908051610d35929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600080600080600080600080610e5889611824565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610ede8382611b17565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610f6057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610fa6929160200190611b49565b50606082015181600201908051610fc1929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60006110d78661186f565b905060025b815460ff1660028111156110ec57fe5b146110f657600080fd5b805433600160a060020a03908116610100909204161461111557600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611148929160200190611b49565b506002810183805161115e929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016111cd8382611b17565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561124f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611295929160200190611b49565b506060820151816002019080516112b0929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806113bb8361186f565b905060005b815460ff1660028111156113d057fe5b14156113df5760009150611467565b60025b815460ff1660028111156113f257fe5b146113f957fe5b6003810154608060020a900460ff16156114165760019150611467565b600381015468010000000000000000900467ffffffffffffffff1615156114405760009150611467565b60038101546114649068010000000000000000900467ffffffffffffffff166113af565b91505b50919050565b60006114788661186f565b905060015b815460ff16600281111561148d57fe5b1461149757600080fd5b805433600160a060020a0390811661010090920416146114b657600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114e9929160200190611b49565b50600281018380516114ff929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b60006115668661186f565b905060005b815460ff16600281111561157b57fe5b1461158557600080fd5b805433600160a060020a0390811661010090920416146115a457600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516115d7929160200190611b49565b50600281018380516115ed929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611654611b05565b61165c611b05565b600080600080600061166d8a61186f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156117235780601f106116f857610100808354040283529160200191611723565b820191906000526020600020905b81548152906001019060200180831161170657829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117c25780601f10611797576101008083540402835291602001916117c2565b820191906000526020600020905b8154815290600101906020018083116117a557829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061183d57600080fd5b6000805467ffffffffffffffff841690811061185557fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061188a57600080fd5b6001805467ffffffffffffffff84169081106118a257fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118cf57fe5b146118d657fe5b8260a0015167ffffffffffffffff1615156118f45760019150611467565b6119018360a0015161186f565b9050611464816101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b4357600502816005028360005260206000209182019101611b439190611c47565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b610e4091905b80821115611bc457805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c806001830182611cfa565b611c8e600283016000611cfa565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c4d565b5090565b90565b610e4091905b80821115611bc45760008155600101611cdf565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d205750611d3e565b601f016020900490600052602060002090810190611d3e9190611cd9565b5b505600a165627a7a72305820160ee3b914b91452d22bab049a60ed6fe9521eb0565399bc52e83faa1fe8fc950029" exports.VaultAbi = [{"constant":false,"inputs":[{"name":"_ref","type":"bytes32"},{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"authorizePayment","outputs":[],"payable":false,"type":"function"},{"payable":true,"type":"fallback"}] exports.VaultByteCode = "0x" exports._solcVersion = "0.4.15+commit.bbb8e64f.Emscripten.clang" -exports._sha256 = "0xd5ed0c3f634353ddaed2b65f79487c0351945cc1443e9fdbc9d653313234867f" +exports._sha256 = "0x9fb33dc83d942d82950d9c26c5d4646914fc0e67371124b51fe2ebbf93576cc5" diff --git a/build/LiquidPledgingBase.sol.js b/build/LiquidPledgingBase.sol.js index 2dfd495..c1f18a0 100644 --- a/build/LiquidPledgingBase.sol.js +++ b/build/LiquidPledgingBase.sol.js @@ -1,10 +1,10 @@ /* This is an autogenerated file. DO NOT EDIT MANUALLY */ -exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] +exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] exports.ILiquidPledgingPluginByteCode = "0x" exports.LiquidPledgingBaseAbi = [{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"intendedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fd3833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d6e80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632287b3aa146101835780632a8ec8cc1461025d5780633f657a461461028257806352dc7dcc146103025780635503d9ba146103cc5780635c1de885146103f15780637f61fa93146104b05780638fe1f2ce1461057a578063cc19ecf7146105ae578063db7c23141461066d578063eba8ba061461072c578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff6020820135811696506040820135169450606001351691506109dd9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561026857600080fd5b610270610e38565b60405190815260200160405180910390f35b341561028d57600080fd5b6102a267ffffffffffffffff60043516610e43565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102e857fe5b60ff16815260200197505050505050505060405180910390f35b341561030d57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610ecb915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103d757600080fd5b6102706110c1565b60405190815260200160405180910390f35b34156103fc57600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506110cc915050565b005b34156104bb57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506111ba915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561058557600080fd5b61059a67ffffffffffffffff600435166113af565b604051901515815260200160405180910390f35b34156105b957600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061146d915050565b005b341561067857600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061155b915050565b005b341561073757600080fd5b61074c67ffffffffffffffff60043516611649565b6040518089600281111561075c57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107df5780820151818401525b6020016107c6565b50505050905090810190601f16801561080c5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156108435780820151818401525b60200161082a565b50505050905090810190601f1680156108705780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561089157600080fd5b610899611815565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611b05565b6000806108cc87611824565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506109188561186f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b60008067ffffffffffffffff851615610c3c576109f98561186f565b905060025b815460ff166002811115610a0e57fe5b14610a1857600080fd5b805433600160a060020a039081166101009092041614610a3757600080fd5b6014610c32826101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b10610c3c57600080fd5b5b60018054925082808201610c518382611b17565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610cd457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610d1a929160200190611b49565b50606082015181600201908051610d35929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600080600080600080600080610e5889611824565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610ede8382611b17565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610f6057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610fa6929160200190611b49565b50606082015181600201908051610fc1929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60006110d78661186f565b905060025b815460ff1660028111156110ec57fe5b146110f657600080fd5b805433600160a060020a03908116610100909204161461111557600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611148929160200190611b49565b506002810183805161115e929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016111cd8382611b17565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561124f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611295929160200190611b49565b506060820151816002019080516112b0929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806113bb8361186f565b905060005b815460ff1660028111156113d057fe5b14156113df5760009150611467565b60025b815460ff1660028111156113f257fe5b146113f957fe5b6003810154608060020a900460ff16156114165760019150611467565b600381015468010000000000000000900467ffffffffffffffff1615156114405760009150611467565b60038101546114649068010000000000000000900467ffffffffffffffff166113af565b91505b50919050565b60006114788661186f565b905060015b815460ff16600281111561148d57fe5b1461149757600080fd5b805433600160a060020a0390811661010090920416146114b657600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114e9929160200190611b49565b50600281018380516114ff929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b60006115668661186f565b905060005b815460ff16600281111561157b57fe5b1461158557600080fd5b805433600160a060020a0390811661010090920416146115a457600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516115d7929160200190611b49565b50600281018380516115ed929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611654611b05565b61165c611b05565b600080600080600061166d8a61186f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156117235780601f106116f857610100808354040283529160200191611723565b820191906000526020600020905b81548152906001019060200180831161170657829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117c25780601f10611797576101008083540402835291602001916117c2565b820191906000526020600020905b8154815290600101906020018083116117a557829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061183d57600080fd5b6000805467ffffffffffffffff841690811061185557fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061188a57600080fd5b6001805467ffffffffffffffff84169081106118a257fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118cf57fe5b146118d657fe5b8260a0015167ffffffffffffffff1615156118f45760019150611467565b6119018360a0015161186f565b9050611464816101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b4357600502816005028360005260206000209182019101611b439190611c47565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b610e4091905b80821115611bc457805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c806001830182611cfa565b611c8e600283016000611cfa565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c4d565b5090565b90565b610e4091905b80821115611bc45760008155600101611cdf565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d205750611d3e565b601f016020900490600052602060002090810190611d3e9190611cd9565b5b505600a165627a7a72305820cf9ae97ea4f9fbaf89e3301ddccfe28ce74451b0a3d62f613291c6ed03c3c3d00029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fd3833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d6e80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632287b3aa146101835780632a8ec8cc1461025d5780633f657a461461028257806352dc7dcc146103025780635503d9ba146103cc5780635c1de885146103f15780637f61fa93146104b05780638fe1f2ce1461057a578063cc19ecf7146105ae578063db7c23141461066d578063eba8ba061461072c578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff6020820135811696506040820135169450606001351691506109dd9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561026857600080fd5b610270610e38565b60405190815260200160405180910390f35b341561028d57600080fd5b6102a267ffffffffffffffff60043516610e43565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102e857fe5b60ff16815260200197505050505050505060405180910390f35b341561030d57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610ecb915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103d757600080fd5b6102706110c1565b60405190815260200160405180910390f35b34156103fc57600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506110cc915050565b005b34156104bb57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506111ba915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561058557600080fd5b61059a67ffffffffffffffff600435166113af565b604051901515815260200160405180910390f35b34156105b957600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061146d915050565b005b341561067857600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061155b915050565b005b341561073757600080fd5b61074c67ffffffffffffffff60043516611649565b6040518089600281111561075c57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107df5780820151818401525b6020016107c6565b50505050905090810190601f16801561080c5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156108435780820151818401525b60200161082a565b50505050905090810190601f1680156108705780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561089157600080fd5b610899611815565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611b05565b6000806108cc87611824565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506109188561186f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b60008067ffffffffffffffff851615610c3c576109f98561186f565b905060025b815460ff166002811115610a0e57fe5b14610a1857600080fd5b805433600160a060020a039081166101009092041614610a3757600080fd5b6014610c32826101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b10610c3c57600080fd5b5b60018054925082808201610c518382611b17565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610cd457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610d1a929160200190611b49565b50606082015181600201908051610d35929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600080600080600080600080610e5889611824565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610ede8382611b17565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610f6057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610fa6929160200190611b49565b50606082015181600201908051610fc1929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60006110d78661186f565b905060025b815460ff1660028111156110ec57fe5b146110f657600080fd5b805433600160a060020a03908116610100909204161461111557600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611148929160200190611b49565b506002810183805161115e929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016111cd8382611b17565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561124f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611295929160200190611b49565b506060820151816002019080516112b0929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806113bb8361186f565b905060005b815460ff1660028111156113d057fe5b14156113df5760009150611467565b60025b815460ff1660028111156113f257fe5b146113f957fe5b6003810154608060020a900460ff16156114165760019150611467565b600381015468010000000000000000900467ffffffffffffffff1615156114405760009150611467565b60038101546114649068010000000000000000900467ffffffffffffffff166113af565b91505b50919050565b60006114788661186f565b905060015b815460ff16600281111561148d57fe5b1461149757600080fd5b805433600160a060020a0390811661010090920416146114b657600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114e9929160200190611b49565b50600281018380516114ff929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b60006115668661186f565b905060005b815460ff16600281111561157b57fe5b1461158557600080fd5b805433600160a060020a0390811661010090920416146115a457600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516115d7929160200190611b49565b50600281018380516115ed929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611654611b05565b61165c611b05565b600080600080600061166d8a61186f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156117235780601f106116f857610100808354040283529160200191611723565b820191906000526020600020905b81548152906001019060200180831161170657829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117c25780601f10611797576101008083540402835291602001916117c2565b820191906000526020600020905b8154815290600101906020018083116117a557829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061183d57600080fd5b6000805467ffffffffffffffff841690811061185557fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061188a57600080fd5b6001805467ffffffffffffffff84169081106118a257fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118cf57fe5b146118d657fe5b8260a0015167ffffffffffffffff1615156118f45760019150611467565b6119018360a0015161186f565b9050611464816101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b4357600502816005028360005260206000209182019101611b439190611c47565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b610e4091905b80821115611bc457805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c806001830182611cfa565b611c8e600283016000611cfa565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c4d565b5090565b90565b610e4091905b80821115611bc45760008155600101611cdf565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d205750611d3e565b601f016020900490600052602060002090810190611d3e9190611cd9565b5b505600a165627a7a72305820b510e2f004ff3a443a076583a4b774745f245dfff496e6be350f92a339cbe4550029" exports.VaultAbi = [{"constant":false,"inputs":[{"name":"_ref","type":"bytes32"},{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"authorizePayment","outputs":[],"payable":false,"type":"function"},{"payable":true,"type":"fallback"}] exports.VaultByteCode = "0x" exports._solcVersion = "0.4.15+commit.bbb8e64f.Emscripten.clang" -exports._sha256 = "0xf9cbffae13c0a2a42667191fad19db5fb4df90fafa963ee17aafc323db40318f" +exports._sha256 = "0x4205645a0c1c81d740040e3bc8b505acc113f19ec8cc4065c343b5bdfe683769" diff --git a/build/LiquidPledgingBase_all.sol b/build/LiquidPledgingBase_all.sol index f88b406..48e7f58 100644 --- a/build/LiquidPledgingBase_all.sol +++ b/build/LiquidPledgingBase_all.sol @@ -19,16 +19,16 @@ contract ILiquidPledgingPlugin { /// ... /// 511 -> Plugin for the intendedCampaign receiving pledge to another party function beforeTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount ) returns (uint maxAllowed); function afterTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount); } @@ -314,7 +314,7 @@ contract LiquidPledgingBase { /// created in this system yet then it wouldn't be in the hash array /// hPledge2idx[]; this creates a Pledge with and amount of 0 if one is not /// created already... - function findPledge( + function findOrCreatePledge( uint64 owner, uint64[] delegationChain, uint64 intendedCampaign, diff --git a/build/LiquidPledgingMock.sol.js b/build/LiquidPledgingMock.sol.js index 4e2c286..237f921 100644 --- a/build/LiquidPledgingMock.sol.js +++ b/build/LiquidPledgingMock.sol.js @@ -1,14 +1,14 @@ /* This is an autogenerated file. DO NOT EDIT MANUALLY */ -exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"noteManager","type":"uint64"},{"name":"noteFrom","type":"uint64"},{"name":"noteTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] +exports.ILiquidPledgingPluginAbi = [{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"afterTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgeManager","type":"uint64"},{"name":"pledgeFrom","type":"uint64"},{"name":"pledgeTo","type":"uint64"},{"name":"context","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"beforeTransfer","outputs":[{"name":"maxAllowed","type":"uint256"}],"payable":false,"type":"function"}] exports.ILiquidPledgingPluginByteCode = "0x" exports.LiquidPledgingAbi = [{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"confirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"intendedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"},{"name":"idReceiver","type":"uint64"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"normalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mWithdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"}],"name":"cancelCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPledge","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledges","type":"uint256[]"}],"name":"mNormalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"idReceiver","type":"uint64"}],"name":"donate","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"pledgesAmounts","type":"uint256[]"},{"name":"idReceiver","type":"uint64"}],"name":"mTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mCancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"uint64"},{"indexed":true,"name":"to","type":"uint64"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CancelCampaign","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b60405160208062004f42833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000259565b8154818355818115116200009d576005028160050283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200014c565b5b505050565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001be565b62000117600283016000620001be565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff191690556200018360028301826200020a565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e6575062000206565b601f01602090049060005260206000209081019062000206919062000235565b5b50565b50805460008255600301600490049060005260206000209081019062000206919062000235565b5b50565b6200014991905b808211156200014557600081556001016200023c565b5090565b90565b614cd980620002696000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632287b3aa146101f75780632a8ec8cc146102cf5780632ee88808146102f45780633f657a4614610318578063433879831461039657806347c5ef43146103ba57806350f8a803146103eb57806352dc7dcc146104265780635503d9ba146104ee57806357adafb6146105135780635c1de885146105645780637f61fa93146106215780638fe1f2ce146106e95780639398f5a21461071c578063a7e474d51461076d578063af9f45631461078e578063bce0906d146107b2578063bde60ac91461081d578063cc19ecf714610839578063d639cd73146108f6578063db7c231414610960578063e9c211e214610a1d578063eba8ba0614610a41578063ef3766e414610b99578063fbfa77cf14610bea575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610c19565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101ba5780820151818401525b6020016101a1565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020257600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150610d409050565b6040516001604060020a03909116815260200160405180910390f35b34156102da57600080fd5b6102e261118f565b60405190815260200160405180910390f35b34156102ff57600080fd5b6103166001604060020a036004351660243561119a565b005b341561032357600080fd5b6103376001604060020a03600435166112e0565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561037c57fe5b60ff16815260200197505050505050505060405180910390f35b34156103a157600080fd5b6103166001604060020a036004351660243561134d565b005b34156103c557600080fd5b6103166001604060020a0360043581169060243581169060443590606435166116f2565b005b34156103f657600080fd5b6102b36001604060020a0360043516611d93565b6040516001604060020a03909116815260200160405180910390f35b341561043157600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611f5f915050565b6040516001604060020a03909116815260200160405180910390f35b34156104f957600080fd5b6102e2612150565b60405190815260200160405180910390f35b341561051e57600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061215b95505050505050565b005b341561056f57600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506121ce915050565b005b341561062c57600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506122bb915050565b6040516001604060020a03909116815260200160405180910390f35b34156106f457600080fd5b6107086001604060020a03600435166124ab565b604051901515815260200160405180910390f35b341561072757600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061255d95505050505050565b005b341561077857600080fd5b6103166001604060020a03600435166125d0565b005b341561079957600080fd5b6103166001604060020a036004351660243561282d565b005b34156107bd57600080fd5b6102b36004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650612a7b95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6103166001604060020a0360043581169060243516612ac8565b005b341561084457600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e03915050565b005b341561090157600080fd5b610316600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612ef0915050565b005b341561096b57600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612f67915050565b005b3415610a2857600080fd5b6103166001604060020a0360043516602435613054565b005b3415610a4c57600080fd5b610a606001604060020a036004351661317e565b60405180896002811115610a7057fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610af25780820151818401525b602001610ad9565b50505050905090810190601f168015610b1f5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610b565780820151818401525b602001610b3d565b50505050905090810190601f168015610b835780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610ba457600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061334495505050505050565b005b3415610bf557600080fd5b610bfd6133b7565b604051600160a060020a03909116815260200160405180910390f35b600080610c246148b8565b600080610c30876133c6565b91508160020160018703815481101515610c4657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610c7b8561340f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b505050505092505b50509250925092565b6000806001604060020a03851615610f9857610d5b8561340f565b905060025b815460ff166002811115610d7057fe5b14610d7a57600080fd5b805433600160a060020a039081166101009092041614610d9957600080fd5b6014610f8e826101006040519081016040528154909190829060ff166002811115610dc057fe5b6002811115610dcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e975780601f10610e6c57610100808354040283529160200191610e97565b820191906000526020600020905b815481529060010190602001808311610e7a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f395780601f10610f0e57610100808354040283529160200191610f39565b820191906000526020600020905b815481529060010190602001808311610f1c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261345a565b10610f9857600080fd5b5b60018054925082808201610fad83826148ca565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561102f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516110759291602001906148fc565b506060820151816002019080516110909291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600254600090819033600160a060020a039081169116146111ba57600080fd5b6111c3846133c6565b915060015b600383015460c060020a900460ff1660028111156111e257fe5b146111ec57600080fd5b836001604060020a03166111ff8561369c565b6001604060020a03161461121257600080fd5b60018201546002830180546112cb926001604060020a031691906020808202016040519081016040528092919081815260200182805480156112a557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116112625790505b505050506003860154600091508190608060020a90046001604060020a03166002613766565b90506112d8848285613a58565b5b5b50505050565b6000806000806000806000806112f5896133c6565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b600080600061135b85611d93565b9450611366856133c6565b925060005b600384015460c060020a900460ff16600281111561138557fe5b1461138f57600080fd5b60018301546113a6906001604060020a031661340f565b915061159b826101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b6001830154600284018054611654926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561162e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115eb5790505b505050506003870154600091508190608060020a90046001604060020a03166001613766565b9050611661858286613a58565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b15156116d657600080fd5b6102c65a03f115156116e757600080fd5b5050505b5050505050565b600080600080600061170388611d93565b975061170e886133c6565b94506117198661340f565b93506117248961340f565b9250611919836101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60005b600386015460c060020a900460ff16600281111561193657fe5b1461194057600080fd5b60018501546001604060020a038a8116911614156119dd5760005b845460ff16600281111561196b57fe5b14156119815761197c888888613b6a565b6119d5565b60025b845460ff16600281111561199457fe5b14156119aa5761197c888888613bb0565b6119d5565b60015b845460ff1660028111156119bd57fe5b14156119d35761197c888888613dfc565b6119d5565bfe5b5b5b5b611d87565b611b0e8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611aa757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611a645790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611afa57fe5b6002811115611b0557fe5b9052508a613f30565b6001604060020a03908116925082146119d35760005b845460ff166002811115611b3457fe5b1415611b6a5760018501546001604060020a03878116911614611b5357fe5b6119d588888760020180549050613f97565b611d87565b60015b845460ff166002811115611b7d57fe5b1415611d4457611cb48560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611c4d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611c0a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611ca057fe5b6002811115611cab57fe5b90525087613f30565b6001604060020a039081169150811415611cef57611cdf888860018589600201805490500303613f97565b61197c888888613dfc565b6119d5565b81811115611d1e57611cdf888860018589600201805490500303613f97565b61197c888888613dfc565b6119d5565b8181116119d5576119d5888860018489600201805490500303613f97565b5b5b5b611d87565b60025b845460ff166002811115611d5757fe5b14156119d357611d74888860018589600201805490500303613f97565b6119d588888861409d565b611d87565b5bfe5b5b505050505050505050565b600080600080611da2856133c6565b925060005b600384015460c060020a900460ff166002811115611dc157fe5b14611dce57849350611f57565b600383015460006001604060020a03909116118015611e0757506003830154604060020a90046001604060020a0316611e056143ec565b115b15611f25576001830154600284018054611ec4926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611e9f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611e5c5790505b505050506003870154600091508190608060020a90046001604060020a031681613766565b6003840154909250611f05906001604060020a03166000604051805910611ee85750595b908082528060200260200182016040525b50600080866000613766565b9050611f1685828560000154613a58565b809450611f22856133c6565b92505b611f2e8561369c565b90506001604060020a0380821690861614611f5257611f5285828560000154613a58565b5b8093505b505050919050565b600180549081808201611f7283826148ca565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611ff357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516120399291602001906148fc565b506060820151816002019080516120549291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b83518310156112d8576001604060020a0384848151811061217d57fe5b90602001906020020151169150604060020a84848151811061219b57fe5b906020019060200201518115156121ae57fe5b0490506121bb828261134d565b5b600190920191612160565b5b50505050565b60006121d98661340f565b905060025b815460ff1660028111156121ee57fe5b146121f857600080fd5b805433600160a060020a03908116610100909204161461221757600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161224a9291602001906148fc565b50600281018380516122609291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016122ce83826148ca565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561234f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516123959291602001906148fc565b506060820151816002019080516123b09291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806124b78361340f565b905060005b815460ff1660028111156124cc57fe5b14156124db5760009150612557565b60025b815460ff1660028111156124ee57fe5b146124f557fe5b6003810154608060020a900460ff16156125125760019150612557565b6003810154604060020a90046001604060020a031615156125365760009150612557565b600381015461255490604060020a90046001604060020a03166124ab565b91505b50919050565b600080805b83518310156112d8576001604060020a0384848151811061257f57fe5b90602001906020020151169150604060020a84848151811061259d57fe5b906020019060200201518115156125b057fe5b0490506125bd828261119a565b5b600190920191612562565b5b50505050565b60006125db8261340f565b90506127d0816101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b60008061283984611d93565b9350612844846133c6565b600181015490925061285e906001604060020a031661340f565b9050612a53816101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60038201546112d8908590608060020a90046001604060020a031685613a58565b5b50505050565b600080805b8351821015612ac0576001604060020a03848381518110612a9d57fe5b90602001906020020151169050612ab381611d93565b505b600190910190612a80565b5b5050919050565b60008080806001604060020a0386161515612b0e57612b0b6020604051908101604052806000815250602060405190810160405260008082526203f480906122bb565b95505b612b178661340f565b9350612d0c846101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60005b845460ff166002811115612d1f57fe5b14612d2957600080fd5b34925060008311612d3957600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612d6c57600080fd5b612d9c866000604051805910612d7f5750595b908082528060200260200182016040525b50600080600080613766565b9150612da7826133c6565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36122b3868385886116f2565b5b505050505050565b6000612e0e8661340f565b905060015b815460ff166002811115612e2357fe5b14612e2d57600080fd5b805433600160a060020a039081166101009092041614612e4c57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612e7f9291602001906148fc565b5060028101838051612e959291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b84518310156122b3576001604060020a03858481518110612f1257fe5b90602001906020020151169150604060020a858481518110612f3057fe5b90602001906020020151811515612f4357fe5b049050612f52868383876116f2565b5b600190920191612ef5565b5b505050505050565b6000612f728661340f565b905060005b815460ff166002811115612f8757fe5b14612f9157600080fd5b805433600160a060020a039081166101009092041614612fb057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612fe39291602001906148fc565b5060028101838051612ff99291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a0390811691161461307457600080fd5b61307d846133c6565b915060015b600383015460c060020a900460ff16600281111561309c57fe5b146130a657600080fd5b600182015460028301805461315e926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561313957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116130f65790505b505050506003860154600091508190608060020a90046001604060020a031681613766565b90506112cb81611d93565b90506112d8848285613a58565b5b5b50505050565b6000806131896148b8565b6131916148b8565b60008060008060006131a28a61340f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156132585780601f1061322d57610100808354040283529160200191613258565b820191906000526020600020905b81548152906001019060200180831161323b57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132f75780601f106132cc576101008083540402835291602001916132f7565b820191906000526020600020905b8154815290600101906020018083116132da57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b83518310156112d8576001604060020a0384848151811061336657fe5b90602001906020020151169150604060020a84848151811061338457fe5b9060200190602002015181151561339757fe5b0490506133a48282613054565b5b600190920191613349565b5b50505050565b600254600160a060020a031681565b600080546001604060020a038316106133de57600080fd5b600080546001604060020a0384169081106133f557fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061342957600080fd5b600180546001604060020a03841690811061344057fe5b906000526020600020906005020160005b5090505b919050565b60008060025b8351600281111561346d57fe5b1461347457fe5b8260a001516001604060020a031615156134915760019150612557565b61349e8360a0015161340f565b9050612554816101006040519081016040528154909190829060ff166002811115610dc057fe5b6002811115610dcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e975780601f10610e6c57610100808354040283529160200191610e97565b820191906000526020600020905b815481529060010190602001808311610e7a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f395780601f10610f0e57610100808354040283529160200191610f39565b820191906000526020600020905b815481529060010190602001808311610f1c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261345a565b91505b50919050565b600080806001604060020a03841615156136b95760009250612ac0565b6136c2846133c6565b60018101549092506136dc906001604060020a031661340f565b905060005b815460ff1660028111156136f157fe5b14156136ff57839250612ac0565b60025b815460ff16600281111561371257fe5b1461371957fe5b6001820154613730906001604060020a03166124ab565b151561373e57839250612ac0565b600382015461375c90608060020a90046001604060020a031661369c565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156137b45780820151818401525b60200161379b565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a02815260080182600281111561382157fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a03909116915081111561388a57809250613a4c565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016138c883826149fa565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561393a57fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613985929160200190614a2c565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115613a4057fe5b02179055505050508092505b50509695505050505050565b6000806000613a6a60018787876143f1565b9250846001604060020a0316866001604060020a03161415613a8b576122b3565b821515613a97576122b3565b613aa0866133c6565b9150613aab856133c6565b825490915083901015613abd57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3613b1860008787866143f1565b505b505050505050565b8060200151600160a060020a031633600160a060020a03161480613b5b57508060e00151600160a060020a031633600160a060020a0316145b1515613b6657600080fd5b5b50565b60006112cb826000604051805910612d7f5750595b908082528060200260200182016040525b50600080600080613766565b90506112d8848285613a58565b5b50505050565b6000806000613bbe866133c6565b92506014613cf28460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b10613cfc57600080fd5b6001830154600284018054613db4926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611e9f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611e5c5790505b505050506003870154600091508190608060020a90046001604060020a031681613766565b9150613de6846000604051805910611ee85750595b908082528060200260200182016040525b50600080866000613766565b90506122b3868287613a58565b5b505050505050565b6000613e066148b8565b600080613e12876133c6565b600281015490945060149010613e2757600080fd5b6002840154600101604051805910613e3c5750595b908082528060200260200182016040525b509250600091505b6002840154821015613eca5760028401805483908110613e7157fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613ea757fe5b6001604060020a039092166020928302909101909101525b600190910190613e55565b60028401548590849081518110613edd57fe5b6001604060020a039283166020918202909201015260018501546003860154613f19929182169186916000918291608060020a90041681613766565b9050613b18878288613a58565b5b50505050505050565b6000805b836040015151811015613f8557826001604060020a031684604001518281518110613f5b57fe5b906020019060200201516001604060020a03161415613f7c57809150613f90565b5b600101613f34565b6001604060020a0391505b5092915050565b6000613fa16148b8565b600080613fad876133c6565b6002810154909450859003604051805910613fc55750595b908082528060200260200182016040525b509250600091505b60028401548590038210156140565760028401805483908110613ffd57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061403357fe5b6001604060020a039092166020928302909101909101525b600190910190613fde565b60018401546003850154613f19916001604060020a039081169186916000918291608060020a9091041681613766565b9050613b18878288613a58565b5b50505050505050565b6000806140a9856133c6565b915060146141dd8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b106141e757600080fd5b60018201546002830180546143d7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561427a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116142375790505b5050505050856143b08660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561434a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116143075790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561439d57fe5b60028111156143a857fe5b905250614584565b6143b86143ec565b6003880154910190608060020a90046001604060020a03166000613766565b90506116eb858286613a58565b5b5050505050565b425b90565b806143ff8585808685614617565b905061440e8584868685614617565b90505b949350505050565b6000808260a001516001604060020a031615156144395760009150612557565b6144468360a001516133c6565b90506145788160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b60010191505b50919050565b6000806000614596846020015161340f565b60038101546001604060020a031693509150600090505b836040015151811015612ac0576145dc846040015182815181106145cd57fe5b9060200190602002015161340f565b60038101549092506001604060020a0316839011156146065760038201546001604060020a031692505b5b6001016145ad565b5b5050919050565b600080600080866001604060020a0316886001604060020a03161461463e57610100614641565b60005b61ffff169250849350614653886133c6565b6001810154909250614673908a906001604060020a031689898789614738565b9350600090505b60028201546001604060020a03821610156146f0576146e58983600201836001604060020a03168154811015156146ad57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189614738565b93505b60010161467a565b600382015460006001604060020a03909116111561472b576003820154614728908a906001604060020a0316898960ff880189614738565b93505b5b50505095945050505050565b806000806147458861340f565b6004810154909150600160a060020a0316158015906147645750600083115b15613a4c57881561481f576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b15156147ee57600080fd5b6102c65a03f115156147ff57600080fd5b50505060405180519250508282111561481757600080fd5b819250613a4c565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561489557600080fd5b6102c65a03f115156148a657600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b8154818355818115116148f6576005028160050283600052602060002091820191016148f69190614af6565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061493d57805160ff191683800117855561496a565b8280016001018555821561496a579182015b8281111561496a57825182559160200191906001019061494f565b5b50614977929150614b88565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061493d57805160ff191683800117855561496a565b8280016001018555821561496a579182015b8281111561496a57825182559160200191906001019061494f565b5b50614977929150614b88565b5090565b8154818355818115116148f6576004028160040283600052602060002091820191016148f69190614ba9565b5b505050565b82805482825590600052602060002090600301600490048101928215614ad45791602002820160005b83821115614a9f57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614a55565b8015614ad25782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614a9f565b505b50614977929150614c10565b5090565b60206040519081016040526000815290565b61119791905b8082111561497757805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b2f6001830182614c3c565b614b3d600283016000614c3c565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614afc565b5090565b90565b61119791905b808211156149775760008155600101614b8e565b5090565b90565b61119791905b8082111561497757600080825560018201805467ffffffffffffffff19169055614bdc6002830182614c84565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614baf565b5090565b90565b61119791905b8082111561497757805467ffffffffffffffff19168155600101614c16565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614c625750613b66565b601f016020900490600052602060002090810190613b669190614b88565b5b50565b508054600082556003016004900490600052602060002090810190613b669190614b88565b5b505600a165627a7a72305820b757c81896e6bb4da5d87ad65c495aa878607d8118c16a7b4284d9e25d76d3be0029" +exports.LiquidPledgingByteCode = "0x606060405234156200001057600080fd5b60405160208062004f42833981016040528080519150505b805b60016200003881806200006e565b50600162000048600082620000a3565b5060028054600160a060020a031916600160a060020a0383161790555b505b5062000259565b8154818355818115116200009d576005028160050283600052602060002091820191016200009d9190620000d8565b5b505050565b8154818355818115116200009d576004028160040283600052602060002091820191016200009d91906200014c565b5b505050565b6200014991905b8082111562000145578054600160a860020a03191681556000620001076001830182620001be565b62000117600283016000620001be565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000df565b5090565b90565b6200014991905b808211156200014557600080825560018201805467ffffffffffffffff191690556200018360028301826200020a565b506003810180547fffffffffffffff0000000000000000000000000000000000000000000000000016905560040162000153565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e6575062000206565b601f01602090049060005260206000209081019062000206919062000235565b5b50565b50805460008255600301600490049060005260206000209081019062000206919062000235565b5b50565b6200014991905b808211156200014557600081556001016200023c565b5090565b90565b614cd980620002696000396000f300606060405236156101385763ffffffff60e060020a60003504166314e7b1dc811461013d5780632287b3aa146101f75780632a8ec8cc146102cf5780632ee88808146102f45780633f657a4614610318578063433879831461039657806347c5ef43146103ba57806350f8a803146103eb57806352dc7dcc146104265780635503d9ba146104ee57806357adafb6146105135780635c1de885146105645780637f61fa93146106215780638fe1f2ce146106e95780639398f5a21461071c578063a7e474d51461076d578063af9f45631461078e578063bce0906d146107b2578063bde60ac91461081d578063cc19ecf714610839578063d639cd73146108f6578063db7c231414610960578063e9c211e214610a1d578063eba8ba0614610a41578063ef3766e414610b99578063fbfa77cf14610bea575b600080fd5b341561014857600080fd5b61015f6001604060020a0360043516602435610c19565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101ba5780820151818401525b6020016101a1565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561020257600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150610d409050565b6040516001604060020a03909116815260200160405180910390f35b34156102da57600080fd5b6102e261118f565b60405190815260200160405180910390f35b34156102ff57600080fd5b6103166001604060020a036004351660243561119a565b005b341561032357600080fd5b6103376001604060020a03600435166112e0565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561037c57fe5b60ff16815260200197505050505050505060405180910390f35b34156103a157600080fd5b6103166001604060020a036004351660243561134d565b005b34156103c557600080fd5b6103166001604060020a0360043581169060243581169060443590606435166116f2565b005b34156103f657600080fd5b6102b36001604060020a0360043516611d93565b6040516001604060020a03909116815260200160405180910390f35b341561043157600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611f5f915050565b6040516001604060020a03909116815260200160405180910390f35b34156104f957600080fd5b6102e2612150565b60405190815260200160405180910390f35b341561051e57600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061215b95505050505050565b005b341561056f57600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a031692506121ce915050565b005b341561062c57600080fd5b6102b360046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a031692506122bb915050565b6040516001604060020a03909116815260200160405180910390f35b34156106f457600080fd5b6107086001604060020a03600435166124ab565b604051901515815260200160405180910390f35b341561072757600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061255d95505050505050565b005b341561077857600080fd5b6103166001604060020a03600435166125d0565b005b341561079957600080fd5b6103166001604060020a036004351660243561282d565b005b34156107bd57600080fd5b6102b36004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650612a7b95505050505050565b6040516001604060020a03909116815260200160405180910390f35b6103166001604060020a0360043581169060243516612ac8565b005b341561084457600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e03915050565b005b341561090157600080fd5b610316600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612ef0915050565b005b341561096b57600080fd5b610316600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612f67915050565b005b3415610a2857600080fd5b6103166001604060020a0360043516602435613054565b005b3415610a4c57600080fd5b610a606001604060020a036004351661317e565b60405180896002811115610a7057fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610af25780820151818401525b602001610ad9565b50505050905090810190601f168015610b1f5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610b565780820151818401525b602001610b3d565b50505050905090810190601f168015610b835780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610ba457600080fd5b610316600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061334495505050505050565b005b3415610bf557600080fd5b610bfd6133b7565b604051600160a060020a03909116815260200160405180910390f35b600080610c246148b8565b600080610c30876133c6565b91508160020160018703815481101515610c4657fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610c7b8561340f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b505050505092505b50509250925092565b6000806001604060020a03851615610f9857610d5b8561340f565b905060025b815460ff166002811115610d7057fe5b14610d7a57600080fd5b805433600160a060020a039081166101009092041614610d9957600080fd5b6014610f8e826101006040519081016040528154909190829060ff166002811115610dc057fe5b6002811115610dcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e975780601f10610e6c57610100808354040283529160200191610e97565b820191906000526020600020905b815481529060010190602001808311610e7a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f395780601f10610f0e57610100808354040283529160200191610f39565b820191906000526020600020905b815481529060010190602001808311610f1c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261345a565b10610f9857600080fd5b5b60018054925082808201610fad83826148ca565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561102f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516110759291602001906148fc565b506060820151816002019080516110909291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600254600090819033600160a060020a039081169116146111ba57600080fd5b6111c3846133c6565b915060015b600383015460c060020a900460ff1660028111156111e257fe5b146111ec57600080fd5b836001604060020a03166111ff8561369c565b6001604060020a03161461121257600080fd5b60018201546002830180546112cb926001604060020a031691906020808202016040519081016040528092919081815260200182805480156112a557602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116112625790505b505050506003860154600091508190608060020a90046001604060020a03166002613766565b90506112d8848285613a58565b5b5b50505050565b6000806000806000806000806112f5896133c6565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b600080600061135b85611d93565b9450611366856133c6565b925060005b600384015460c060020a900460ff16600281111561138557fe5b1461138f57600080fd5b60018301546113a6906001604060020a031661340f565b915061159b826101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b6001830154600284018054611654926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561162e57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116115eb5790505b505050506003870154600091508190608060020a90046001604060020a03166001613766565b9050611661858286613a58565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b15156116d657600080fd5b6102c65a03f115156116e757600080fd5b5050505b5050505050565b600080600080600061170388611d93565b975061170e886133c6565b94506117198661340f565b93506117248961340f565b9250611919836101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60005b600386015460c060020a900460ff16600281111561193657fe5b1461194057600080fd5b60018501546001604060020a038a8116911614156119dd5760005b845460ff16600281111561196b57fe5b14156119815761197c888888613b6a565b6119d5565b60025b845460ff16600281111561199457fe5b14156119aa5761197c888888613bb0565b6119d5565b60015b845460ff1660028111156119bd57fe5b14156119d35761197c888888613dfc565b6119d5565bfe5b5b5b5b611d87565b611b0e8560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611aa757602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611a645790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611afa57fe5b6002811115611b0557fe5b9052508a613f30565b6001604060020a03908116925082146119d35760005b845460ff166002811115611b3457fe5b1415611b6a5760018501546001604060020a03878116911614611b5357fe5b6119d588888760020180549050613f97565b611d87565b60015b845460ff166002811115611b7d57fe5b1415611d4457611cb48560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611c4d57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611c0a5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611ca057fe5b6002811115611cab57fe5b90525087613f30565b6001604060020a039081169150811415611cef57611cdf888860018589600201805490500303613f97565b61197c888888613dfc565b6119d5565b81811115611d1e57611cdf888860018589600201805490500303613f97565b61197c888888613dfc565b6119d5565b8181116119d5576119d5888860018489600201805490500303613f97565b5b5b5b611d87565b60025b845460ff166002811115611d5757fe5b14156119d357611d74888860018589600201805490500303613f97565b6119d588888861409d565b611d87565b5bfe5b5b505050505050505050565b600080600080611da2856133c6565b925060005b600384015460c060020a900460ff166002811115611dc157fe5b14611dce57849350611f57565b600383015460006001604060020a03909116118015611e0757506003830154604060020a90046001604060020a0316611e056143ec565b115b15611f25576001830154600284018054611ec4926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611e9f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611e5c5790505b505050506003870154600091508190608060020a90046001604060020a031681613766565b6003840154909250611f05906001604060020a03166000604051805910611ee85750595b908082528060200260200182016040525b50600080866000613766565b9050611f1685828560000154613a58565b809450611f22856133c6565b92505b611f2e8561369c565b90506001604060020a0380821690861614611f5257611f5285828560000154613a58565b5b8093505b505050919050565b600180549081808201611f7283826148ca565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115611ff357fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516120399291602001906148fc565b506060820151816002019080516120549291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b83518310156112d8576001604060020a0384848151811061217d57fe5b90602001906020020151169150604060020a84848151811061219b57fe5b906020019060200201518115156121ae57fe5b0490506121bb828261134d565b5b600190920191612160565b5b50505050565b60006121d98661340f565b905060025b815460ff1660028111156121ee57fe5b146121f857600080fd5b805433600160a060020a03908116610100909204161461221757600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161224a9291602001906148fc565b50600281018380516122609291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016122ce83826148ca565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561234f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516123959291602001906148fc565b506060820151816002019080516123b09291602001906148fc565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806124b78361340f565b905060005b815460ff1660028111156124cc57fe5b14156124db5760009150612557565b60025b815460ff1660028111156124ee57fe5b146124f557fe5b6003810154608060020a900460ff16156125125760019150612557565b6003810154604060020a90046001604060020a031615156125365760009150612557565b600381015461255490604060020a90046001604060020a03166124ab565b91505b50919050565b600080805b83518310156112d8576001604060020a0384848151811061257f57fe5b90602001906020020151169150604060020a84848151811061259d57fe5b906020019060200201518115156125b057fe5b0490506125bd828261119a565b5b600190920191612562565b5b50505050565b60006125db8261340f565b90506127d0816101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b60008061283984611d93565b9350612844846133c6565b600181015490925061285e906001604060020a031661340f565b9050612a53816101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60038201546112d8908590608060020a90046001604060020a031685613a58565b5b50505050565b600080805b8351821015612ac0576001604060020a03848381518110612a9d57fe5b90602001906020020151169050612ab381611d93565b505b600190910190612a80565b5b5050919050565b60008080806001604060020a0386161515612b0e57612b0b6020604051908101604052806000815250602060405190810160405260008082526203f480906122bb565b95505b612b178661340f565b9350612d0c846101006040519081016040528154909190829060ff1660028111156113cd57fe5b60028111156113d857fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a45780601f10611479576101008083540402835291602001916114a4565b820191906000526020600020905b81548152906001019060200180831161148757829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b22565b60005b845460ff166002811115612d1f57fe5b14612d2957600080fd5b34925060008311612d3957600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612d6c57600080fd5b612d9c866000604051805910612d7f5750595b908082528060200260200182016040525b50600080600080613766565b9150612da7826133c6565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a36122b3868385886116f2565b5b505050505050565b6000612e0e8661340f565b905060015b815460ff166002811115612e2357fe5b14612e2d57600080fd5b805433600160a060020a039081166101009092041614612e4c57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612e7f9291602001906148fc565b5060028101838051612e959291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b84518310156122b3576001604060020a03858481518110612f1257fe5b90602001906020020151169150604060020a858481518110612f3057fe5b90602001906020020151811515612f4357fe5b049050612f52868383876116f2565b5b600190920191612ef5565b5b505050505050565b6000612f728661340f565b905060005b815460ff166002811115612f8757fe5b14612f9157600080fd5b805433600160a060020a039081166101009092041614612fb057600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612fe39291602001906148fc565b5060028101838051612ff99291602001906148fc565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a0390811691161461307457600080fd5b61307d846133c6565b915060015b600383015460c060020a900460ff16600281111561309c57fe5b146130a657600080fd5b600182015460028301805461315e926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561313957602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116130f65790505b505050506003860154600091508190608060020a90046001604060020a031681613766565b90506112cb81611d93565b90506112d8848285613a58565b5b5b50505050565b6000806131896148b8565b6131916148b8565b60008060008060006131a28a61340f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156132585780601f1061322d57610100808354040283529160200191613258565b820191906000526020600020905b81548152906001019060200180831161323b57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132f75780601f106132cc576101008083540402835291602001916132f7565b820191906000526020600020905b8154815290600101906020018083116132da57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b83518310156112d8576001604060020a0384848151811061336657fe5b90602001906020020151169150604060020a84848151811061338457fe5b9060200190602002015181151561339757fe5b0490506133a48282613054565b5b600190920191613349565b5b50505050565b600254600160a060020a031681565b600080546001604060020a038316106133de57600080fd5b600080546001604060020a0384169081106133f557fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061342957600080fd5b600180546001604060020a03841690811061344057fe5b906000526020600020906005020160005b5090505b919050565b60008060025b8351600281111561346d57fe5b1461347457fe5b8260a001516001604060020a031615156134915760019150612557565b61349e8360a0015161340f565b9050612554816101006040519081016040528154909190829060ff166002811115610dc057fe5b6002811115610dcb57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e975780601f10610e6c57610100808354040283529160200191610e97565b820191906000526020600020905b815481529060010190602001808311610e7a57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f395780601f10610f0e57610100808354040283529160200191610f39565b820191906000526020600020905b815481529060010190602001808311610f1c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a031660809091015261345a565b91505b50919050565b600080806001604060020a03841615156136b95760009250612ac0565b6136c2846133c6565b60018101549092506136dc906001604060020a031661340f565b905060005b815460ff1660028111156136f157fe5b14156136ff57839250612ac0565b60025b815460ff16600281111561371257fe5b1461371957fe5b6001820154613730906001604060020a03166124ab565b151561373e57839250612ac0565b600382015461375c90608060020a90046001604060020a031661369c565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156137b45780820151818401525b60200161379b565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a02815260080182600281111561382157fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a03909116915081111561388a57809250613a4c565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a0383161790558154909190600181016138c883826149fa565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561393a57fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a0392909216919091179055604082015181600201908051613985929160200190614a2c565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115613a4057fe5b02179055505050508092505b50509695505050505050565b6000806000613a6a60018787876143f1565b9250846001604060020a0316866001604060020a03161415613a8b576122b3565b821515613a97576122b3565b613aa0866133c6565b9150613aab856133c6565b825490915083901015613abd57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3613b1860008787866143f1565b505b505050505050565b8060200151600160a060020a031633600160a060020a03161480613b5b57508060e00151600160a060020a031633600160a060020a0316145b1515613b6657600080fd5b5b50565b60006112cb826000604051805910612d7f5750595b908082528060200260200182016040525b50600080600080613766565b90506112d8848285613a58565b5b50505050565b6000806000613bbe866133c6565b92506014613cf28460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b10613cfc57600080fd5b6001830154600284018054613db4926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611e9f57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611e5c5790505b505050506003870154600091508190608060020a90046001604060020a031681613766565b9150613de6846000604051805910611ee85750595b908082528060200260200182016040525b50600080866000613766565b90506122b3868287613a58565b5b505050505050565b6000613e066148b8565b600080613e12876133c6565b600281015490945060149010613e2757600080fd5b6002840154600101604051805910613e3c5750595b908082528060200260200182016040525b509250600091505b6002840154821015613eca5760028401805483908110613e7157fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613ea757fe5b6001604060020a039092166020928302909101909101525b600190910190613e55565b60028401548590849081518110613edd57fe5b6001604060020a039283166020918202909201015260018501546003860154613f19929182169186916000918291608060020a90041681613766565b9050613b18878288613a58565b5b50505050505050565b6000805b836040015151811015613f8557826001604060020a031684604001518281518110613f5b57fe5b906020019060200201516001604060020a03161415613f7c57809150613f90565b5b600101613f34565b6001604060020a0391505b5092915050565b6000613fa16148b8565b600080613fad876133c6565b6002810154909450859003604051805910613fc55750595b908082528060200260200182016040525b509250600091505b60028401548590038210156140565760028401805483908110613ffd57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061403357fe5b6001604060020a039092166020928302909101909101525b600190910190613fde565b60018401546003850154613f19916001604060020a039081169186916000918291608060020a9091041681613766565b9050613b18878288613a58565b5b50505050505050565b6000806140a9856133c6565b915060146141dd8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b106141e757600080fd5b60018201546002830180546143d7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561427a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116142375790505b5050505050856143b08660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a031681526020016002820180548060200260200160405190810160405280929190818152602001828054801561434a57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116143075790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff16600281111561439d57fe5b60028111156143a857fe5b905250614584565b6143b86143ec565b6003880154910190608060020a90046001604060020a03166000613766565b90506116eb858286613a58565b5b5050505050565b425b90565b806143ff8585808685614617565b905061440e8584868685614617565b90505b949350505050565b6000808260a001516001604060020a031615156144395760009150612557565b6144468360a001516133c6565b90506145788160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613c8c57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613c495790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613cdf57fe5b6002811115613cea57fe5b905250614419565b60010191505b50919050565b6000806000614596846020015161340f565b60038101546001604060020a031693509150600090505b836040015151811015612ac0576145dc846040015182815181106145cd57fe5b9060200190602002015161340f565b60038101549092506001604060020a0316839011156146065760038201546001604060020a031692505b5b6001016145ad565b5b5050919050565b600080600080866001604060020a0316886001604060020a03161461463e57610100614641565b60005b61ffff169250849350614653886133c6565b6001810154909250614673908a906001604060020a031689898789614738565b9350600090505b60028201546001604060020a03821610156146f0576146e58983600201836001604060020a03168154811015156146ad57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316898985880160010189614738565b93505b60010161467a565b600382015460006001604060020a03909116111561472b576003820154614728908a906001604060020a0316898960ff880189614738565b93505b5b50505095945050505050565b806000806147458861340f565b6004810154909150600160a060020a0316158015906147645750600083115b15613a4c57881561481f576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b15156147ee57600080fd5b6102c65a03f115156147ff57600080fd5b50505060405180519250508282111561481757600080fd5b819250613a4c565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b151561489557600080fd5b6102c65a03f115156148a657600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b8154818355818115116148f6576005028160050283600052602060002091820191016148f69190614af6565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061493d57805160ff191683800117855561496a565b8280016001018555821561496a579182015b8281111561496a57825182559160200191906001019061494f565b5b50614977929150614b88565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061493d57805160ff191683800117855561496a565b8280016001018555821561496a579182015b8281111561496a57825182559160200191906001019061494f565b5b50614977929150614b88565b5090565b8154818355818115116148f6576004028160040283600052602060002091820191016148f69190614ba9565b5b505050565b82805482825590600052602060002090600301600490048101928215614ad45791602002820160005b83821115614a9f57835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614a55565b8015614ad25782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614a9f565b505b50614977929150614c10565b5090565b60206040519081016040526000815290565b61119791905b8082111561497757805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b2f6001830182614c3c565b614b3d600283016000614c3c565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614afc565b5090565b90565b61119791905b808211156149775760008155600101614b8e565b5090565b90565b61119791905b8082111561497757600080825560018201805467ffffffffffffffff19169055614bdc6002830182614c84565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614baf565b5090565b90565b61119791905b8082111561497757805467ffffffffffffffff19168155600101614c16565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614c625750613b66565b601f016020900490600052602060002090810190613b669190614b88565b5b50565b508054600082556003016004900490600052602060002090810190613b669190614b88565b5b505600a165627a7a72305820d35195ae121112fa95b4ae226fa8a4e154cc2075733c7752dd3db52b9cce4c870029" exports.LiquidPledgingBaseAbi = [{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"intendedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fd3833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d6e80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632287b3aa146101835780632a8ec8cc1461025d5780633f657a461461028257806352dc7dcc146103025780635503d9ba146103cc5780635c1de885146103f15780637f61fa93146104b05780638fe1f2ce1461057a578063cc19ecf7146105ae578063db7c23141461066d578063eba8ba061461072c578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff6020820135811696506040820135169450606001351691506109dd9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561026857600080fd5b610270610e38565b60405190815260200160405180910390f35b341561028d57600080fd5b6102a267ffffffffffffffff60043516610e43565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102e857fe5b60ff16815260200197505050505050505060405180910390f35b341561030d57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610ecb915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103d757600080fd5b6102706110c1565b60405190815260200160405180910390f35b34156103fc57600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506110cc915050565b005b34156104bb57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506111ba915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561058557600080fd5b61059a67ffffffffffffffff600435166113af565b604051901515815260200160405180910390f35b34156105b957600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061146d915050565b005b341561067857600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061155b915050565b005b341561073757600080fd5b61074c67ffffffffffffffff60043516611649565b6040518089600281111561075c57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107df5780820151818401525b6020016107c6565b50505050905090810190601f16801561080c5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156108435780820151818401525b60200161082a565b50505050905090810190601f1680156108705780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561089157600080fd5b610899611815565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611b05565b6000806108cc87611824565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506109188561186f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b60008067ffffffffffffffff851615610c3c576109f98561186f565b905060025b815460ff166002811115610a0e57fe5b14610a1857600080fd5b805433600160a060020a039081166101009092041614610a3757600080fd5b6014610c32826101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b10610c3c57600080fd5b5b60018054925082808201610c518382611b17565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610cd457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610d1a929160200190611b49565b50606082015181600201908051610d35929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600080600080600080600080610e5889611824565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610ede8382611b17565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610f6057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610fa6929160200190611b49565b50606082015181600201908051610fc1929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60006110d78661186f565b905060025b815460ff1660028111156110ec57fe5b146110f657600080fd5b805433600160a060020a03908116610100909204161461111557600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611148929160200190611b49565b506002810183805161115e929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016111cd8382611b17565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561124f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611295929160200190611b49565b506060820151816002019080516112b0929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806113bb8361186f565b905060005b815460ff1660028111156113d057fe5b14156113df5760009150611467565b60025b815460ff1660028111156113f257fe5b146113f957fe5b6003810154608060020a900460ff16156114165760019150611467565b600381015468010000000000000000900467ffffffffffffffff1615156114405760009150611467565b60038101546114649068010000000000000000900467ffffffffffffffff166113af565b91505b50919050565b60006114788661186f565b905060015b815460ff16600281111561148d57fe5b1461149757600080fd5b805433600160a060020a0390811661010090920416146114b657600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114e9929160200190611b49565b50600281018380516114ff929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b60006115668661186f565b905060005b815460ff16600281111561157b57fe5b1461158557600080fd5b805433600160a060020a0390811661010090920416146115a457600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516115d7929160200190611b49565b50600281018380516115ed929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611654611b05565b61165c611b05565b600080600080600061166d8a61186f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156117235780601f106116f857610100808354040283529160200191611723565b820191906000526020600020905b81548152906001019060200180831161170657829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117c25780601f10611797576101008083540402835291602001916117c2565b820191906000526020600020905b8154815290600101906020018083116117a557829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061183d57600080fd5b6000805467ffffffffffffffff841690811061185557fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061188a57600080fd5b6001805467ffffffffffffffff84169081106118a257fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118cf57fe5b146118d657fe5b8260a0015167ffffffffffffffff1615156118f45760019150611467565b6119018360a0015161186f565b9050611464816101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b4357600502816005028360005260206000209182019101611b439190611c47565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b610e4091905b80821115611bc457805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c806001830182611cfa565b611c8e600283016000611cfa565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c4d565b5090565b90565b610e4091905b80821115611bc45760008155600101611cdf565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d205750611d3e565b601f016020900490600052602060002090810190611d3e9190611cd9565b5b505600a165627a7a723058201c2a55d18649f8d79e7d7dc70693be48bcf58ae05dcd150dc28a3877ce5f87bc0029" +exports.LiquidPledgingBaseByteCode = "0x606060405234156200001057600080fd5b60405160208062001fd3833981016040528080519150505b60016200003681806200006a565b506001620000466000826200009f565b5060028054600160a060020a031916600160a060020a0383161790555b5062000255565b8154818355818115116200009957600502816005028360005260206000209182019101620000999190620000d4565b5b505050565b815481835581811511620000995760040281600402836000526020600020918201910162000099919062000148565b5b505050565b6200014591905b8082111562000141578054600160a860020a03191681556000620001036001830182620001ba565b62000113600283016000620001ba565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000db565b5090565b90565b6200014591905b808211156200014157600080825560018201805467ffffffffffffffff191690556200017f600283018262000206565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200014f565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001e2575062000202565b601f01602090049060005260206000209081019062000202919062000231565b5b50565b50805460008255600301600490049060005260206000209081019062000202919062000231565b5b50565b6200014591905b8082111562000141576000815560010162000238565b5090565b90565b611d6e80620002656000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166314e7b1dc81146100c75780632287b3aa146101835780632a8ec8cc1461025d5780633f657a461461028257806352dc7dcc146103025780635503d9ba146103cc5780635c1de885146103f15780637f61fa93146104b05780638fe1f2ce1461057a578063cc19ecf7146105ae578063db7c23141461066d578063eba8ba061461072c578063fbfa77cf14610886575b600080fd5b34156100d257600080fd5b6100ea67ffffffffffffffff600435166024356108b5565b60405167ffffffffffffffff84168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101465780820151818401525b60200161012d565b50505050905090810190601f1680156101735780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561018e57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a03853581169567ffffffffffffffff6020820135811696506040820135169450606001351691506109dd9050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561026857600080fd5b610270610e38565b60405190815260200160405180910390f35b341561028d57600080fd5b6102a267ffffffffffffffff60043516610e43565b60405187815267ffffffffffffffff8088166020830152868116604083015285811660608301528481166080830152831660a082015260c081018260028111156102e857fe5b60ff16815260200197505050505050505060405180910390f35b341561030d57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a03169250610ecb915050565b60405167ffffffffffffffff909116815260200160405180910390f35b34156103d757600080fd5b6102706110c1565b60405190815260200160405180910390f35b34156103fc57600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff1692506110cc915050565b005b34156104bb57600080fd5b61024060046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050833567ffffffffffffffff169360200135600160a060020a031692506111ba915050565b60405167ffffffffffffffff909116815260200160405180910390f35b341561058557600080fd5b61059a67ffffffffffffffff600435166113af565b604051901515815260200160405180910390f35b34156105b957600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061146d915050565b005b341561067857600080fd5b6104ae6004803567ffffffffffffffff169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496505050923567ffffffffffffffff16925061155b915050565b005b341561073757600080fd5b61074c67ffffffffffffffff60043516611649565b6040518089600281111561075c57fe5b60ff168152600160a060020a03898116602083015267ffffffffffffffff8781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b838110156107df5780820151818401525b6020016107c6565b50505050905090810190601f16801561080c5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156108435780820151818401525b60200161082a565b50505050905090810190601f1680156108705780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561089157600080fd5b610899611815565b604051600160a060020a03909116815260200160405180910390f35b6000806108c0611b05565b6000806108cc87611824565b915081600201600187038154811015156108e257fe5b90600052602060002090600491828204019190066008025b9054906101000a900467ffffffffffffffff1694506109188561186f565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b505050505092505b50509250925092565b60008067ffffffffffffffff851615610c3c576109f98561186f565b905060025b815460ff166002811115610a0e57fe5b14610a1857600080fd5b805433600160a060020a039081166101009092041614610a3757600080fd5b6014610c32826101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b10610c3c57600080fd5b5b60018054925082808201610c518382611b17565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d905267ffffffffffffffff808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff19166001836002811115610cd457fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610d1a929160200190611b49565b50606082015181600201908051610d35929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff82167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600080600080600080600080610e5889611824565b8054600182015460028301546003840154929b5067ffffffffffffffff9182169a509850808216975068010000000000000000820481169650608060020a82041694507801000000000000000000000000000000000000000000000000900460ff16925090505b50919395979092949650565b600180549081808201610ede8382611b17565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff19166001836002811115610f6057fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051610fa6929160200190611b49565b50606082015181600201908051610fc1929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b60006110d78661186f565b905060025b815460ff1660028111156110ec57fe5b146110f657600080fd5b805433600160a060020a03908116610100909204161461111557600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051611148929160200190611b49565b506002810183805161115e929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b6001805490818082016111cd8382611b17565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a905267ffffffffffffffff89166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561124f57fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a0319909116178155604082015181600101908051611295929160200190611b49565b506060820151816002019080516112b0929160200190611b49565b50608082015160038201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560a08201518160030160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505067ffffffffffffffff81167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b6000806113bb8361186f565b905060005b815460ff1660028111156113d057fe5b14156113df5760009150611467565b60025b815460ff1660028111156113f257fe5b146113f957fe5b6003810154608060020a900460ff16156114165760019150611467565b600381015468010000000000000000900467ffffffffffffffff1615156114405760009150611467565b60038101546114649068010000000000000000900467ffffffffffffffff166113af565b91505b50919050565b60006114788661186f565b905060015b815460ff16600281111561148d57fe5b1461149757600080fd5b805433600160a060020a0390811661010090920416146114b657600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516114e9929160200190611b49565b50600281018380516114ff929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b60006115668661186f565b905060005b815460ff16600281111561157b57fe5b1461158557600080fd5b805433600160a060020a0390811661010090920416146115a457600080fd5b805461010060a860020a031916610100600160a060020a03871602178155600181018480516115d7929160200190611b49565b50600281018380516115ed929160200190611b49565b5060038101805467ffffffffffffffff191667ffffffffffffffff8481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600080611654611b05565b61165c611b05565b600080600080600061166d8a61186f565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156117235780601f106116f857610100808354040283529160200191611723565b820191906000526020600020905b81548152906001019060200180831161170657829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117c25780601f10611797576101008083540402835291602001916117c2565b820191906000526020600020905b8154815290600101906020018083116117a557829003601f168201915b505050506003830154600484015492985067ffffffffffffffff8082169850680100000000000000008204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600254600160a060020a031681565b6000805467ffffffffffffffff83161061183d57600080fd5b6000805467ffffffffffffffff841690811061185557fe5b906000526020600020906004020160005b5090505b919050565b60015460009067ffffffffffffffff83161061188a57600080fd5b6001805467ffffffffffffffff84169081106118a257fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156118cf57fe5b146118d657fe5b8260a0015167ffffffffffffffff1615156118f45760019150611467565b6119018360a0015161186f565b9050611464816101006040519081016040528154909190829060ff166002811115610a5e57fe5b6002811115610a6957fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b355780601f10610b0a57610100808354040283529160200191610b35565b820191906000526020600020905b815481529060010190602001808311610b1857829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd75780601f10610bac57610100808354040283529160200191610bd7565b820191906000526020600020905b815481529060010190602001808311610bba57829003601f168201915b5050509183525050600382015467ffffffffffffffff8082166020840152680100000000000000008204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526118bc565b91505b50919050565b60206040519081016040526000815290565b815481835581811511611b4357600502816005028360005260206000209182019101611b439190611c47565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b8a57805160ff1916838001178555611bb7565b82800160010185558215611bb7579182015b82811115611bb7578251825591602001919060010190611b9c565b5b50611bc4929150611cd9565b5090565b610e4091905b80821115611bc457805474ffffffffffffffffffffffffffffffffffffffffff191681556000611c806001830182611cfa565b611c8e600283016000611cfa565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501611c4d565b5090565b90565b610e4091905b80821115611bc45760008155600101611cdf565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611d205750611d3e565b601f016020900490600052602060002090810190611d3e9190611cd9565b5b505600a165627a7a72305820f0bd70fec2add8e6713095ae853d63f0f982e299af43daee2208efbb295520830029" exports.LiquidPledgingMockAbi = [{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"idxDelegate","type":"uint256"}],"name":"getPledgeDelegate","outputs":[{"name":"idDelegate","type":"uint64"},{"name":"addr","type":"address"},{"name":"name","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"campaignAdmin","type":"address"},{"name":"parentCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addCampaign","outputs":[{"name":"idCampaign","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledges","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"confirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"getPledge","outputs":[{"name":"amount","type":"uint256"},{"name":"owner","type":"uint64"},{"name":"nDelegates","type":"uint64"},{"name":"intendedCampaign","type":"uint64"},{"name":"commitTime","type":"uint64"},{"name":"oldPledge","type":"uint64"},{"name":"paymentState","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"},{"name":"idReceiver","type":"uint64"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"}],"name":"normalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addDelegate","outputs":[{"name":"idDelegate","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfPledgeAdmins","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mWithdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"plugin","type":"address"}],"name":"addGiver","outputs":[{"name":"idGiver","type":"uint64"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"campaignId","type":"uint64"}],"name":"isCampaignCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mConfirmPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"mock_time","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idCampaign","type":"uint64"}],"name":"cancelCampaign","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_t","type":"uint256"}],"name":"setMockedTime","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPledge","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledges","type":"uint256[]"}],"name":"mNormalizePledge","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"idReceiver","type":"uint64"}],"name":"donate","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"idDelegate","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateDelegate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idSender","type":"uint64"},{"name":"pledgesAmounts","type":"uint256[]"},{"name":"idReceiver","type":"uint64"}],"name":"mTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idGiver","type":"uint64"},{"name":"newAddr","type":"address"},{"name":"newName","type":"string"},{"name":"newUrl","type":"string"},{"name":"newCommitTime","type":"uint64"}],"name":"updateGiver","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"idPledge","type":"uint64"},{"name":"amount","type":"uint256"}],"name":"cancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"idAdmin","type":"uint64"}],"name":"getPledgeAdmin","outputs":[{"name":"adminType","type":"uint8"},{"name":"addr","type":"address"},{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"commitTime","type":"uint64"},{"name":"parentCampaign","type":"uint64"},{"name":"canceled","type":"bool"},{"name":"plugin","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"pledgesAmounts","type":"uint256[]"}],"name":"mCancelPayment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_vault","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"uint64"},{"indexed":true,"name":"to","type":"uint64"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CancelCampaign","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idGiver","type":"uint64"}],"name":"GiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idDelegate","type":"uint64"}],"name":"DelegateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idCampaign","type":"uint64"}],"name":"CampaignAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"idAdmin","type":"uint64"}],"name":"CampaignUpdated","type":"event"}] -exports.LiquidPledgingMockByteCode = "0x606060405234156200001057600080fd5b60405160208062004fae833981016040528080519150505b805b805b60016200003a818062000076565b5060016200004a600082620000ab565b5060028054600160a060020a031916600160a060020a0383161790555b505b50426004555b5062000261565b815481835581811511620000a557600502816005028360005260206000209182019101620000a59190620000e0565b5b505050565b815481835581811511620000a557600402816004028360005260206000209182019101620000a5919062000154565b5b505050565b6200015191905b808211156200014d578054600160a860020a031916815560006200010f6001830182620001c6565b6200011f600283016000620001c6565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000e7565b5090565b90565b6200015191905b808211156200014d57600080825560018201805467ffffffffffffffff191690556200018b600283018262000212565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200015b565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001ee57506200020e565b601f0160209004906000526020600020908101906200020e91906200023d565b5b50565b5080546000825560030160049004906000526020600020908101906200020e91906200023d565b5b50565b6200015191905b808211156200014d576000815560010162000244565b5090565b90565b614d3d80620002716000396000f3006060604052361561014e5763ffffffff60e060020a60003504166314e7b1dc81146101535780632287b3aa1461020d5780632a8ec8cc146102e55780632ee888081461030a5780633f657a461461032e57806343387983146103ac57806347c5ef43146103d057806350f8a8031461040157806352dc7dcc1461043c5780635503d9ba1461050457806357adafb6146105295780635c1de8851461057a5780637f61fa93146106375780638fe1f2ce146106ff5780639398f5a2146107325780639da47a6b14610783578063a7e474d5146107a8578063ab8be231146107c9578063af9f4563146107e1578063bce0906d14610805578063bde60ac914610870578063cc19ecf71461088c578063d639cd7314610949578063db7c2314146109b3578063e9c211e214610a70578063eba8ba0614610a94578063ef3766e414610bec578063fbfa77cf14610c3d575b600080fd5b341561015e57600080fd5b6101756001604060020a0360043516602435610c6c565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101d05780820151818401525b6020016101b7565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561021857600080fd5b6102c960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150610d939050565b6040516001604060020a03909116815260200160405180910390f35b34156102f057600080fd5b6102f86111e2565b60405190815260200160405180910390f35b341561031557600080fd5b61032c6001604060020a03600435166024356111ed565b005b341561033957600080fd5b61034d6001604060020a0360043516611333565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561039257fe5b60ff16815260200197505050505050505060405180910390f35b34156103b757600080fd5b61032c6001604060020a03600435166024356113a0565b005b34156103db57600080fd5b61032c6001604060020a036004358116906024358116906044359060643516611745565b005b341561040c57600080fd5b6102c96001604060020a0360043516611de6565b6040516001604060020a03909116815260200160405180910390f35b341561044757600080fd5b6102c960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611fb2915050565b6040516001604060020a03909116815260200160405180910390f35b341561050f57600080fd5b6102f86121a3565b60405190815260200160405180910390f35b341561053457600080fd5b61032c60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506121ae95505050505050565b005b341561058557600080fd5b61032c600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612221915050565b005b341561064257600080fd5b6102c960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a0316925061230e915050565b6040516001604060020a03909116815260200160405180910390f35b341561070a57600080fd5b61071e6001604060020a03600435166124fe565b604051901515815260200160405180910390f35b341561073d57600080fd5b61032c60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506125b095505050505050565b005b341561078e57600080fd5b6102f8612623565b60405190815260200160405180910390f35b34156107b357600080fd5b61032c6001604060020a0360043516612629565b005b34156107d457600080fd5b61032c600435612886565b005b34156107ec57600080fd5b61032c6001604060020a036004351660243561288f565b005b341561081057600080fd5b6102c96004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650612add95505050505050565b6040516001604060020a03909116815260200160405180910390f35b61032c6001604060020a0360043581169060243516612b2a565b005b341561089757600080fd5b61032c600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e65915050565b005b341561095457600080fd5b61032c600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612f52915050565b005b34156109be57600080fd5b61032c600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612fc9915050565b005b3415610a7b57600080fd5b61032c6001604060020a03600435166024356130b6565b005b3415610a9f57600080fd5b610ab36001604060020a03600435166131e0565b60405180896002811115610ac357fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610b455780820151818401525b602001610b2c565b50505050905090810190601f168015610b725780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610ba95780820151818401525b602001610b90565b50505050905090810190601f168015610bd65780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610bf757600080fd5b61032c60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506133a695505050505050565b005b3415610c4857600080fd5b610c50613419565b604051600160a060020a03909116815260200160405180910390f35b600080610c7761491c565b600080610c8387613428565b91508160020160018703815481101515610c9957fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610cce85613471565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d825780601f10610d5757610100808354040283529160200191610d82565b820191906000526020600020905b815481529060010190602001808311610d6557829003601f168201915b505050505092505b50509250925092565b6000806001604060020a03851615610feb57610dae85613471565b905060025b815460ff166002811115610dc357fe5b14610dcd57600080fd5b805433600160a060020a039081166101009092041614610dec57600080fd5b6014610fe1826101006040519081016040528154909190829060ff166002811115610e1357fe5b6002811115610e1e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eea5780601f10610ebf57610100808354040283529160200191610eea565b820191906000526020600020905b815481529060010190602001808311610ecd57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f8c5780601f10610f6157610100808354040283529160200191610f8c565b820191906000526020600020905b815481529060010190602001808311610f6f57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526134bc565b10610feb57600080fd5b5b60018054925082808201611000838261492e565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561108257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516110c8929160200190614960565b506060820151816002019080516110e3929160200190614960565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600254600090819033600160a060020a0390811691161461120d57600080fd5b61121684613428565b915060015b600383015460c060020a900460ff16600281111561123557fe5b1461123f57600080fd5b836001604060020a0316611252856136fe565b6001604060020a03161461126557600080fd5b600182015460028301805461131e926001604060020a031691906020808202016040519081016040528092919081815260200182805480156112f857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116112b55790505b505050506003860154600091508190608060020a90046001604060020a031660026137c8565b905061132b848285613aba565b5b5b50505050565b60008060008060008060008061134889613428565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b60008060006113ae85611de6565b94506113b985613428565b925060005b600384015460c060020a900460ff1660028111156113d857fe5b146113e257600080fd5b60018301546113f9906001604060020a0316613471565b91506115ee826101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b60018301546002840180546116a7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561168157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161163e5790505b505050506003870154600091508190608060020a90046001604060020a031660016137c8565b90506116b4858286613aba565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561172957600080fd5b6102c65a03f1151561173a57600080fd5b5050505b5050505050565b600080600080600061175688611de6565b975061176188613428565b945061176c86613471565b935061177789613471565b925061196c836101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b60005b600386015460c060020a900460ff16600281111561198957fe5b1461199357600080fd5b60018501546001604060020a038a811691161415611a305760005b845460ff1660028111156119be57fe5b14156119d4576119cf888888613bcc565b611a28565b60025b845460ff1660028111156119e757fe5b14156119fd576119cf888888613c12565b611a28565b60015b845460ff166002811115611a1057fe5b1415611a26576119cf888888613e5e565b611a28565bfe5b5b5b5b611dda565b611b618560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611afa57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611ab75790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611b4d57fe5b6002811115611b5857fe5b9052508a613f92565b6001604060020a0390811692508214611a265760005b845460ff166002811115611b8757fe5b1415611bbd5760018501546001604060020a03878116911614611ba657fe5b611a2888888760020180549050613ff9565b611dda565b60015b845460ff166002811115611bd057fe5b1415611d9757611d078560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611ca057602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611c5d5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611cf357fe5b6002811115611cfe57fe5b90525087613f92565b6001604060020a039081169150811415611d4257611d32888860018589600201805490500303613ff9565b6119cf888888613e5e565b611a28565b81811115611d7157611d32888860018589600201805490500303613ff9565b6119cf888888613e5e565b611a28565b818111611a2857611a28888860018489600201805490500303613ff9565b5b5b5b611dda565b60025b845460ff166002811115611daa57fe5b1415611a2657611dc7888860018589600201805490500303613ff9565b611a288888886140ff565b611dda565b5bfe5b5b505050505050505050565b600080600080611df585613428565b925060005b600384015460c060020a900460ff166002811115611e1457fe5b14611e2157849350611faa565b600383015460006001604060020a03909116118015611e5a57506003830154604060020a90046001604060020a0316611e5861444e565b115b15611f78576001830154600284018054611f17926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611ef257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611eaf5790505b505050506003870154600091508190608060020a90046001604060020a0316816137c8565b6003840154909250611f58906001604060020a03166000604051805910611f3b5750595b908082528060200260200182016040525b506000808660006137c8565b9050611f6985828560000154613aba565b809450611f7585613428565b92505b611f81856136fe565b90506001604060020a0380821690861614611fa557611fa585828560000154613aba565b5b8093505b505050919050565b600180549081808201611fc5838261492e565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561204657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161208c929160200190614960565b506060820151816002019080516120a7929160200190614960565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b835183101561132b576001604060020a038484815181106121d057fe5b90602001906020020151169150604060020a8484815181106121ee57fe5b9060200190602002015181151561220157fe5b04905061220e82826113a0565b5b6001909201916121b3565b5b50505050565b600061222c86613471565b905060025b815460ff16600281111561224157fe5b1461224b57600080fd5b805433600160a060020a03908116610100909204161461226a57600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161229d929160200190614960565b50600281018380516122b3929160200190614960565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b600180549081808201612321838261492e565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156123a257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516123e8929160200190614960565b50606082015181600201908051612403929160200190614960565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b60008061250a83613471565b905060005b815460ff16600281111561251f57fe5b141561252e57600091506125aa565b60025b815460ff16600281111561254157fe5b1461254857fe5b6003810154608060020a900460ff161561256557600191506125aa565b6003810154604060020a90046001604060020a0316151561258957600091506125aa565b60038101546125a790604060020a90046001604060020a03166124fe565b91505b50919050565b600080805b835183101561132b576001604060020a038484815181106125d257fe5b90602001906020020151169150604060020a8484815181106125f057fe5b9060200190602002015181151561260357fe5b04905061261082826111ed565b5b6001909201916125b5565b5b50505050565b60045481565b600061263482613471565b9050612829816101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b60048190555b50565b60008061289b84611de6565b93506128a684613428565b60018101549092506128c0906001604060020a0316613471565b9050612ab5816101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b600382015461132b908590608060020a90046001604060020a031685613aba565b5b50505050565b600080805b8351821015612b22576001604060020a03848381518110612aff57fe5b90602001906020020151169050612b1581611de6565b505b600190910190612ae2565b5b5050919050565b60008080806001604060020a0386161515612b7057612b6d6020604051908101604052806000815250602060405190810160405260008082526203f4809061230e565b95505b612b7986613471565b9350612d6e846101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b60005b845460ff166002811115612d8157fe5b14612d8b57600080fd5b34925060008311612d9b57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612dce57600080fd5b612dfe866000604051805910612de15750595b908082528060200260200182016040525b506000806000806137c8565b9150612e0982613428565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361230686838588611745565b5b505050505050565b6000612e7086613471565b905060015b815460ff166002811115612e8557fe5b14612e8f57600080fd5b805433600160a060020a039081166101009092041614612eae57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612ee1929160200190614960565b5060028101838051612ef7929160200190614960565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b8451831015612306576001604060020a03858481518110612f7457fe5b90602001906020020151169150604060020a858481518110612f9257fe5b90602001906020020151811515612fa557fe5b049050612fb486838387611745565b5b600190920191612f57565b5b505050505050565b6000612fd486613471565b905060005b815460ff166002811115612fe957fe5b14612ff357600080fd5b805433600160a060020a03908116610100909204161461301257600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051613045929160200190614960565b506002810183805161305b929160200190614960565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a039081169116146130d657600080fd5b6130df84613428565b915060015b600383015460c060020a900460ff1660028111156130fe57fe5b1461310857600080fd5b60018201546002830180546131c0926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561319b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116131585790505b505050506003860154600091508190608060020a90046001604060020a0316816137c8565b905061131e81611de6565b905061132b848285613aba565b5b5b50505050565b6000806131eb61491c565b6131f361491c565b60008060008060006132048a613471565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156132ba5780601f1061328f576101008083540402835291602001916132ba565b820191906000526020600020905b81548152906001019060200180831161329d57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133595780601f1061332e57610100808354040283529160200191613359565b820191906000526020600020905b81548152906001019060200180831161333c57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b835183101561132b576001604060020a038484815181106133c857fe5b90602001906020020151169150604060020a8484815181106133e657fe5b906020019060200201518115156133f957fe5b04905061340682826130b6565b5b6001909201916133ab565b5b50505050565b600254600160a060020a031681565b600080546001604060020a0383161061344057600080fd5b600080546001604060020a03841690811061345757fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061348b57600080fd5b600180546001604060020a0384169081106134a257fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156134cf57fe5b146134d657fe5b8260a001516001604060020a031615156134f357600191506125aa565b6135008360a00151613471565b90506125a7816101006040519081016040528154909190829060ff166002811115610e1357fe5b6002811115610e1e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eea5780601f10610ebf57610100808354040283529160200191610eea565b820191906000526020600020905b815481529060010190602001808311610ecd57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f8c5780601f10610f6157610100808354040283529160200191610f8c565b820191906000526020600020905b815481529060010190602001808311610f6f57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526134bc565b91505b50919050565b600080806001604060020a038416151561371b5760009250612b22565b61372484613428565b600181015490925061373e906001604060020a0316613471565b905060005b815460ff16600281111561375357fe5b141561376157839250612b22565b60025b815460ff16600281111561377457fe5b1461377b57fe5b6001820154613792906001604060020a03166124fe565b15156137a057839250612b22565b60038201546137be90608060020a90046001604060020a03166136fe565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156138165780820151818401525b6020016137fd565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a02815260080182600281111561388357fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a0390911691508111156138ec57809250613aae565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a03831617905581549091906001810161392a8382614a5e565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561399c57fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a03929092169190911790556040820151816002019080516139e7929160200190614a90565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115613aa257fe5b02179055505050508092505b50509695505050505050565b6000806000613acc6001878787614455565b9250846001604060020a0316866001604060020a03161415613aed57612306565b821515613af957612306565b613b0286613428565b9150613b0d85613428565b825490915083901015613b1f57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3613b7a6000878786614455565b505b505050505050565b8060200151600160a060020a031633600160a060020a03161480613bbd57508060e00151600160a060020a031633600160a060020a0316145b151561288c57600080fd5b5b50565b600061131e826000604051805910612de15750595b908082528060200260200182016040525b506000806000806137c8565b905061132b848285613aba565b5b50505050565b6000806000613c2086613428565b92506014613d548460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613cee57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613cab5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613d4157fe5b6002811115613d4c57fe5b90525061447d565b10613d5e57600080fd5b6001830154600284018054613e16926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611ef257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611eaf5790505b505050506003870154600091508190608060020a90046001604060020a0316816137c8565b9150613e48846000604051805910611f3b5750595b908082528060200260200182016040525b506000808660006137c8565b9050612306868287613aba565b5b505050505050565b6000613e6861491c565b600080613e7487613428565b600281015490945060149010613e8957600080fd5b6002840154600101604051805910613e9e5750595b908082528060200260200182016040525b509250600091505b6002840154821015613f2c5760028401805483908110613ed357fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613f0957fe5b6001604060020a039092166020928302909101909101525b600190910190613eb7565b60028401548590849081518110613f3f57fe5b6001604060020a039283166020918202909201015260018501546003860154613f7b929182169186916000918291608060020a900416816137c8565b9050613b7a878288613aba565b5b50505050505050565b6000805b836040015151811015613fe757826001604060020a031684604001518281518110613fbd57fe5b906020019060200201516001604060020a03161415613fde57809150613ff2565b5b600101613f96565b6001604060020a0391505b5092915050565b600061400361491c565b60008061400f87613428565b60028101549094508590036040518059106140275750595b908082528060200260200182016040525b509250600091505b60028401548590038210156140b8576002840180548390811061405f57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061409557fe5b6001604060020a039092166020928302909101909101525b600190910190614040565b60018401546003850154613f7b916001604060020a039081169186916000918291608060020a90910416816137c8565b9050613b7a878288613aba565b5b50505050505050565b60008061410b85613428565b9150601461423f8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613cee57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613cab5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613d4157fe5b6002811115613d4c57fe5b90525061447d565b1061424957600080fd5b6001820154600283018054614439926001604060020a031691906020808202016040519081016040528092919081815260200182805480156142dc57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116142995790505b5050505050856144128660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156143ac57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116143695790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156143ff57fe5b600281111561440a57fe5b9052506145e8565b61441a61444e565b6003880154910190608060020a90046001604060020a031660006137c8565b905061173e858286613aba565b5b5050505050565b6004545b90565b80614463858580868561467b565b9050614472858486868561467b565b90505b949350505050565b6000808260a001516001604060020a0316151561449d57600091506125aa565b6144aa8360a00151613428565b90506145dc8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613cee57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613cab5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613d4157fe5b6002811115613d4c57fe5b90525061447d565b60010191505b50919050565b60008060006145fa8460200151613471565b60038101546001604060020a031693509150600090505b836040015151811015612b22576146408460400151828151811061463157fe5b90602001906020020151613471565b60038101549092506001604060020a03168390111561466a5760038201546001604060020a031692505b5b600101614611565b5b5050919050565b600080600080866001604060020a0316886001604060020a0316146146a2576101006146a5565b60005b61ffff1692508493506146b788613428565b60018101549092506146d7908a906001604060020a03168989878961479c565b9350600090505b60028201546001604060020a0382161015614754576147498983600201836001604060020a031681548110151561471157fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031689898588016001018961479c565b93505b6001016146de565b600382015460006001604060020a03909116111561478f57600382015461478c908a906001604060020a0316898960ff88018961479c565b93505b5b50505095945050505050565b806000806147a988613471565b6004810154909150600160a060020a0316158015906147c85750600083115b15613aae578815614883576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561485257600080fd5b6102c65a03f1151561486357600080fd5b50505060405180519250508282111561487b57600080fd5b819250613aae565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b15156148f957600080fd5b6102c65a03f1151561490a57600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b81548183558181151161495a5760050281600502836000526020600020918201910161495a9190614b5a565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149a157805160ff19168380011785556149ce565b828001600101855582156149ce579182015b828111156149ce5782518255916020019190600101906149b3565b5b506149db929150614bec565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149a157805160ff19168380011785556149ce565b828001600101855582156149ce579182015b828111156149ce5782518255916020019190600101906149b3565b5b506149db929150614bec565b5090565b81548183558181151161495a5760040281600402836000526020600020918201910161495a9190614c0d565b5b505050565b82805482825590600052602060002090600301600490048101928215614b385791602002820160005b83821115614b0357835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614ab9565b8015614b365782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614b03565b505b506149db929150614c74565b5090565b60206040519081016040526000815290565b6111ea91905b808211156149db57805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b936001830182614ca0565b614ba1600283016000614ca0565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614b60565b5090565b90565b6111ea91905b808211156149db5760008155600101614bf2565b5090565b90565b6111ea91905b808211156149db57600080825560018201805467ffffffffffffffff19169055614c406002830182614ce8565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614c13565b5090565b90565b6111ea91905b808211156149db57805467ffffffffffffffff19168155600101614c7a565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614cc6575061288c565b601f01602090049060005260206000209081019061288c9190614bec565b5b50565b50805460008255600301600490049060005260206000209081019061288c9190614bec565b5b505600a165627a7a723058201e4fa2d2b45370acaa808b7ba7efda2dbbf130951a43af9a28fcc2ed916dcf880029" +exports.LiquidPledgingMockByteCode = "0x606060405234156200001057600080fd5b60405160208062004fae833981016040528080519150505b805b805b60016200003a818062000076565b5060016200004a600082620000ab565b5060028054600160a060020a031916600160a060020a0383161790555b505b50426004555b5062000261565b815481835581811511620000a557600502816005028360005260206000209182019101620000a59190620000e0565b5b505050565b815481835581811511620000a557600402816004028360005260206000209182019101620000a5919062000154565b5b505050565b6200015191905b808211156200014d578054600160a860020a031916815560006200010f6001830182620001c6565b6200011f600283016000620001c6565b506003810180546001608860020a0319169055600481018054600160a060020a0319169055600501620000e7565b5090565b90565b6200015191905b808211156200014d57600080825560018201805467ffffffffffffffff191690556200018b600283018262000212565b506003810180547fffffffffffffff000000000000000000000000000000000000000000000000001690556004016200015b565b5090565b90565b50805460018160011615610100020316600290046000825580601f10620001ee57506200020e565b601f0160209004906000526020600020908101906200020e91906200023d565b5b50565b5080546000825560030160049004906000526020600020908101906200020e91906200023d565b5b50565b6200015191905b808211156200014d576000815560010162000244565b5090565b90565b614d3d80620002716000396000f3006060604052361561014e5763ffffffff60e060020a60003504166314e7b1dc81146101535780632287b3aa1461020d5780632a8ec8cc146102e55780632ee888081461030a5780633f657a461461032e57806343387983146103ac57806347c5ef43146103d057806350f8a8031461040157806352dc7dcc1461043c5780635503d9ba1461050457806357adafb6146105295780635c1de8851461057a5780637f61fa93146106375780638fe1f2ce146106ff5780639398f5a2146107325780639da47a6b14610783578063a7e474d5146107a8578063ab8be231146107c9578063af9f4563146107e1578063bce0906d14610805578063bde60ac914610870578063cc19ecf71461088c578063d639cd7314610949578063db7c2314146109b3578063e9c211e214610a70578063eba8ba0614610a94578063ef3766e414610bec578063fbfa77cf14610c3d575b600080fd5b341561015e57600080fd5b6101756001604060020a0360043516602435610c6c565b6040516001604060020a0384168152600160a060020a038316602082015260606040820181815290820183818151815260200191508051906020019080838360005b838110156101d05780820151818401525b6020016101b7565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561021857600080fd5b6102c960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050600160a060020a0385358116956001604060020a03602082013581169650604082013516945060600135169150610d939050565b6040516001604060020a03909116815260200160405180910390f35b34156102f057600080fd5b6102f86111e2565b60405190815260200160405180910390f35b341561031557600080fd5b61032c6001604060020a03600435166024356111ed565b005b341561033957600080fd5b61034d6001604060020a0360043516611333565b6040518781526001604060020a038088166020830152868116604083015285811660608301528481166080830152831660a082015260c0810182600281111561039257fe5b60ff16815260200197505050505050505060405180910390f35b34156103b757600080fd5b61032c6001604060020a03600435166024356113a0565b005b34156103db57600080fd5b61032c6001604060020a036004358116906024358116906044359060643516611745565b005b341561040c57600080fd5b6102c96001604060020a0360043516611de6565b6040516001604060020a03909116815260200160405180910390f35b341561044757600080fd5b6102c960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a03169250611fb2915050565b6040516001604060020a03909116815260200160405180910390f35b341561050f57600080fd5b6102f86121a3565b60405190815260200160405180910390f35b341561053457600080fd5b61032c60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506121ae95505050505050565b005b341561058557600080fd5b61032c600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612221915050565b005b341561064257600080fd5b6102c960046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505083356001604060020a03169360200135600160a060020a0316925061230e915050565b6040516001604060020a03909116815260200160405180910390f35b341561070a57600080fd5b61071e6001604060020a03600435166124fe565b604051901515815260200160405180910390f35b341561073d57600080fd5b61032c60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506125b095505050505050565b005b341561078e57600080fd5b6102f8612623565b60405190815260200160405180910390f35b34156107b357600080fd5b61032c6001604060020a0360043516612629565b005b34156107d457600080fd5b61032c600435612886565b005b34156107ec57600080fd5b61032c6001604060020a036004351660243561288f565b005b341561081057600080fd5b6102c96004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650612add95505050505050565b6040516001604060020a03909116815260200160405180910390f35b61032c6001604060020a0360043581169060243516612b2a565b005b341561089757600080fd5b61032c600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612e65915050565b005b341561095457600080fd5b61032c600480356001604060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650505092356001604060020a03169250612f52915050565b005b34156109be57600080fd5b61032c600480356001604060020a03169060248035600160a060020a0316919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650505092356001604060020a03169250612fc9915050565b005b3415610a7b57600080fd5b61032c6001604060020a03600435166024356130b6565b005b3415610a9f57600080fd5b610ab36001604060020a03600435166131e0565b60405180896002811115610ac357fe5b60ff168152600160a060020a0389811660208301526001604060020a038781166080840152861660a083015284151560c0830152831660e08201526101008282038101604083019081529160608101910189818151815260200191508051906020019080838360005b83811015610b455780820151818401525b602001610b2c565b50505050905090810190601f168015610b725780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610ba95780820151818401525b602001610b90565b50505050905090810190601f168015610bd65780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b3415610bf757600080fd5b61032c60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506133a695505050505050565b005b3415610c4857600080fd5b610c50613419565b604051600160a060020a03909116815260200160405180910390f35b600080610c7761491c565b600080610c8387613428565b91508160020160018703815481101515610c9957fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a03169450610cce85613471565b90508060000160019054906101000a9004600160a060020a03169350806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d825780601f10610d5757610100808354040283529160200191610d82565b820191906000526020600020905b815481529060010190602001808311610d6557829003601f168201915b505050505092505b50509250925092565b6000806001604060020a03851615610feb57610dae85613471565b905060025b815460ff166002811115610dc357fe5b14610dcd57600080fd5b805433600160a060020a039081166101009092041614610dec57600080fd5b6014610fe1826101006040519081016040528154909190829060ff166002811115610e1357fe5b6002811115610e1e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eea5780601f10610ebf57610100808354040283529160200191610eea565b820191906000526020600020905b815481529060010190602001808311610ecd57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f8c5780601f10610f6157610100808354040283529160200191610f8c565b820191906000526020600020905b815481529060010190602001808311610f6f57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526134bc565b10610feb57600080fd5b5b60018054925082808201611000838261492e565b916000526020600020906005020160005b6101006040519081016040528060025b8152600160a060020a03808c166020830152604082018e9052606082018d90526001604060020a03808b1660808401528b1660a0830152600060c0830152881660e09091015291905081518154829060ff1916600183600281111561108257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516110c8929160200190614960565b506060820151816002019080516110e3929160200190614960565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0382167f7ee8e9aa2daef505e5dcde0891e16be5f9808204d3b7ab755ed49060b020efa760405160405180910390a25b509695505050505050565b600054600019015b90565b600254600090819033600160a060020a0390811691161461120d57600080fd5b61121684613428565b915060015b600383015460c060020a900460ff16600281111561123557fe5b1461123f57600080fd5b836001604060020a0316611252856136fe565b6001604060020a03161461126557600080fd5b600182015460028301805461131e926001604060020a031691906020808202016040519081016040528092919081815260200182805480156112f857602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116112b55790505b505050506003860154600091508190608060020a90046001604060020a031660026137c8565b905061132b848285613aba565b5b5b50505050565b60008060008060008060008061134889613428565b8054600182015460028301546003840154929b506001604060020a039182169a5098508082169750604060020a820481169650608060020a820416945060c060020a900460ff16925090505b50919395979092949650565b60008060006113ae85611de6565b94506113b985613428565b925060005b600384015460c060020a900460ff1660028111156113d857fe5b146113e257600080fd5b60018301546113f9906001604060020a0316613471565b91506115ee826101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b60018301546002840180546116a7926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561168157602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a03168152602001906008019060208260070104928301926001038202915080841161163e5790505b505050506003870154600091508190608060020a90046001604060020a031660016137c8565b90506116b4858286613aba565b6002548254600160a060020a039182169163bb4f28df916001604060020a03851691610100909104168760405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401600060405180830381600087803b151561172957600080fd5b6102c65a03f1151561173a57600080fd5b5050505b5050505050565b600080600080600061175688611de6565b975061176188613428565b945061176c86613471565b935061177789613471565b925061196c836101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b60005b600386015460c060020a900460ff16600281111561198957fe5b1461199357600080fd5b60018501546001604060020a038a811691161415611a305760005b845460ff1660028111156119be57fe5b14156119d4576119cf888888613bcc565b611a28565b60025b845460ff1660028111156119e757fe5b14156119fd576119cf888888613c12565b611a28565b60015b845460ff166002811115611a1057fe5b1415611a26576119cf888888613e5e565b611a28565bfe5b5b5b5b611dda565b611b618560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611afa57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611ab75790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611b4d57fe5b6002811115611b5857fe5b9052508a613f92565b6001604060020a0390811692508214611a265760005b845460ff166002811115611b8757fe5b1415611bbd5760018501546001604060020a03878116911614611ba657fe5b611a2888888760020180549050613ff9565b611dda565b60015b845460ff166002811115611bd057fe5b1415611d9757611d078560e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015611ca057602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611c5d5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115611cf357fe5b6002811115611cfe57fe5b90525087613f92565b6001604060020a039081169150811415611d4257611d32888860018589600201805490500303613ff9565b6119cf888888613e5e565b611a28565b81811115611d7157611d32888860018589600201805490500303613ff9565b6119cf888888613e5e565b611a28565b818111611a2857611a28888860018489600201805490500303613ff9565b5b5b5b611dda565b60025b845460ff166002811115611daa57fe5b1415611a2657611dc7888860018589600201805490500303613ff9565b611a288888886140ff565b611dda565b5bfe5b5b505050505050505050565b600080600080611df585613428565b925060005b600384015460c060020a900460ff166002811115611e1457fe5b14611e2157849350611faa565b600383015460006001604060020a03909116118015611e5a57506003830154604060020a90046001604060020a0316611e5861444e565b115b15611f78576001830154600284018054611f17926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611ef257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611eaf5790505b505050506003870154600091508190608060020a90046001604060020a0316816137c8565b6003840154909250611f58906001604060020a03166000604051805910611f3b5750595b908082528060200260200182016040525b506000808660006137c8565b9050611f6985828560000154613aba565b809450611f7585613428565b92505b611f81856136fe565b90506001604060020a0380821690861614611fa557611fa585828560000154613aba565b5b8093505b505050919050565b600180549081808201611fc5838261492e565b916000526020600020906005020160005b6101006040519081016040528060015b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff1916600183600281111561204657fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a031990911617815560408201518160010190805161208c929160200190614960565b506060820151816002019080516120a7929160200190614960565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167f014882843f1e57bd41e0826ad1cd5e6180d4d4f76df8b12edc8b44575322d94e60405160405180910390a25b949350505050565b600154600019015b90565b600080805b835183101561132b576001604060020a038484815181106121d057fe5b90602001906020020151169150604060020a8484815181106121ee57fe5b9060200190602002015181151561220157fe5b04905061220e82826113a0565b5b6001909201916121b3565b5b50505050565b600061222c86613471565b905060025b815460ff16600281111561224157fe5b1461224b57600080fd5b805433600160a060020a03908116610100909204161461226a57600080fd5b805461010060a860020a031916610100600160a060020a038716021781556001810184805161229d929160200190614960565b50600281018380516122b3929160200190614960565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f801323e9b4133d25ff2d22427923c338b40554015d63b1b035fdf93225f3112f60405160405180910390a25b505050505050565b600180549081808201612321838261492e565b916000526020600020906005020160005b6101006040519081016040528060005b8152600160a060020a033381166020830152604082018b9052606082018a90526001604060020a0389166080830152600060a0830181905260c0830152871660e09091015291905081518154829060ff191660018360028111156123a257fe5b021790555060208201518154600160a060020a03919091166101000261010060a860020a03199091161781556040820151816001019080516123e8929160200190614960565b50606082015181600201908051612403929160200190614960565b50608082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560a08201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060c0820151600382018054911515608060020a0270ff000000000000000000000000000000001990921691909117905560e0820151600491909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905550506001604060020a0381167efc763def3c85dbc7bab43e314ba21264ec158217c45cf1eaf94f5ae15bc2c560405160405180910390a25b949350505050565b60008061250a83613471565b905060005b815460ff16600281111561251f57fe5b141561252e57600091506125aa565b60025b815460ff16600281111561254157fe5b1461254857fe5b6003810154608060020a900460ff161561256557600191506125aa565b6003810154604060020a90046001604060020a0316151561258957600091506125aa565b60038101546125a790604060020a90046001604060020a03166124fe565b91505b50919050565b600080805b835183101561132b576001604060020a038484815181106125d257fe5b90602001906020020151169150604060020a8484815181106125f057fe5b9060200190602002015181151561260357fe5b04905061261082826111ed565b5b6001909201916125b5565b5b50505050565b60045481565b600061263482613471565b9050612829816101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b60038101805470ff000000000000000000000000000000001916608060020a1790556001604060020a0382167f82a76f4c7fad127fa2b94c70b686a7111dda14d8de32572bc17d3ac22acc726f60405160405180910390a25b5050565b60048190555b50565b60008061289b84611de6565b93506128a684613428565b60018101549092506128c0906001604060020a0316613471565b9050612ab5816101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b600382015461132b908590608060020a90046001604060020a031685613aba565b5b50505050565b600080805b8351821015612b22576001604060020a03848381518110612aff57fe5b90602001906020020151169050612b1581611de6565b505b600190910190612ae2565b5b5050919050565b60008080806001604060020a0386161515612b7057612b6d6020604051908101604052806000815250602060405190810160405260008082526203f4809061230e565b95505b612b7986613471565b9350612d6e846101006040519081016040528154909190829060ff16600281111561142057fe5b600281111561142b57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114f75780601f106114cc576101008083540402835291602001916114f7565b820191906000526020600020905b8154815290600101906020018083116114da57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115995780601f1061156e57610100808354040283529160200191611599565b820191906000526020600020905b81548152906001019060200180831161157c57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a0316608090910152613b84565b60005b845460ff166002811115612d8157fe5b14612d8b57600080fd5b34925060008311612d9b57600080fd5b600254600160a060020a031683156108fc0284604051600060405180830381858888f193505050501515612dce57600080fd5b612dfe866000604051805910612de15750595b908082528060200260200182016040525b506000806000806137c8565b9150612e0982613428565b80548401815590506001604060020a03821660007feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a361230686838588611745565b5b505050505050565b6000612e7086613471565b905060015b815460ff166002811115612e8557fe5b14612e8f57600080fd5b805433600160a060020a039081166101009092041614612eae57600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051612ee1929160200190614960565b5060028101838051612ef7929160200190614960565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167f01a3bd608e7be74358498f90bd2ff305f9fdb8e94d76167f40fef03aae56620360405160405180910390a25b505050505050565b600080805b8451831015612306576001604060020a03858481518110612f7457fe5b90602001906020020151169150604060020a858481518110612f9257fe5b90602001906020020151811515612fa557fe5b049050612fb486838387611745565b5b600190920191612f57565b5b505050505050565b6000612fd486613471565b905060005b815460ff166002811115612fe957fe5b14612ff357600080fd5b805433600160a060020a03908116610100909204161461301257600080fd5b805461010060a860020a031916610100600160a060020a0387160217815560018101848051613045929160200190614960565b506002810183805161305b929160200190614960565b5060038101805467ffffffffffffffff19166001604060020a038481169190911790915586167fe8da06f5d4d8fa2ef122c9fc3d5ae15379d95f5b9ebf92a5821b57705600320a60405160405180910390a25b505050505050565b600254600090819033600160a060020a039081169116146130d657600080fd5b6130df84613428565b915060015b600383015460c060020a900460ff1660028111156130fe57fe5b1461310857600080fd5b60018201546002830180546131c0926001604060020a0316919060208082020160405190810160405280929190818152602001828054801561319b57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116131585790505b505050506003860154600091508190608060020a90046001604060020a0316816137c8565b905061131e81611de6565b905061132b848285613aba565b5b5b50505050565b6000806131eb61491c565b6131f361491c565b60008060008060006132048a613471565b80546001808301805460ff84169d5061010093849004600160a060020a03169c509394509260029181161590920260001901909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156132ba5780601f1061328f576101008083540402835291602001916132ba565b820191906000526020600020905b81548152906001019060200180831161329d57829003601f168201915b50505050509650806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133595780601f1061332e57610100808354040283529160200191613359565b820191906000526020600020905b81548152906001019060200180831161333c57829003601f168201915b50505050600383015460048401549298506001604060020a038082169850604060020a8204169650608060020a900460ff16945050600160a060020a031691505b50919395975091939597565b600080805b835183101561132b576001604060020a038484815181106133c857fe5b90602001906020020151169150604060020a8484815181106133e657fe5b906020019060200201518115156133f957fe5b04905061340682826130b6565b5b6001909201916133ab565b5b50505050565b600254600160a060020a031681565b600080546001604060020a0383161061344057600080fd5b600080546001604060020a03841690811061345757fe5b906000526020600020906004020160005b5090505b919050565b6001546000906001604060020a0383161061348b57600080fd5b600180546001604060020a0384169081106134a257fe5b906000526020600020906005020160005b5090505b919050565b60008060025b835160028111156134cf57fe5b146134d657fe5b8260a001516001604060020a031615156134f357600191506125aa565b6135008360a00151613471565b90506125a7816101006040519081016040528154909190829060ff166002811115610e1357fe5b6002811115610e1e57fe5b81526020016000820160019054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eea5780601f10610ebf57610100808354040283529160200191610eea565b820191906000526020600020905b815481529060010190602001808311610ecd57829003601f168201915b50505050508152602001600282018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f8c5780601f10610f6157610100808354040283529160200191610f8c565b820191906000526020600020905b815481529060010190602001808311610f6f57829003601f168201915b505050918352505060038201546001604060020a038082166020840152604060020a8204166040830152608060020a900460ff1615156060820152600490910154600160a060020a03166080909101526134bc565b91505b50919050565b600080806001604060020a038416151561371b5760009250612b22565b61372484613428565b600181015490925061373e906001604060020a0316613471565b905060005b815460ff16600281111561375357fe5b141561376157839250612b22565b60025b815460ff16600281111561377457fe5b1461377b57fe5b6001820154613792906001604060020a03166124fe565b15156137a057839250612b22565b60038201546137be90608060020a90046001604060020a03166136fe565b92505b5050919050565b600080600088888888888860405160c060020a6001604060020a03881602815260088101868051906020019060200280838360005b838110156138165780820151818401525b6020016137fd565b50505050905001856001604060020a03166001604060020a031660c060020a028152600801846001604060020a03166001604060020a031660c060020a028152600801836001604060020a03166001604060020a031660c060020a02815260080182600281111561388357fe5b60ff167f010000000000000000000000000000000000000000000000000000000000000002815260010196505050505050506040519081900390206000818152600360205260408120549193506001604060020a0390911691508111156138ec57809250613aae565b5060008054828252600360205260408220805467ffffffffffffffff19166001604060020a03831617905581549091906001810161392a8382614a5e565b916000526020600020906004020160005b60e060405190810160405280600081526020018d6001604060020a031681526020018c81526020018b6001604060020a031681526020018a6001604060020a03168152602001896001604060020a0316815260200188600281111561399c57fe5b905291905081518155602082015160018201805467ffffffffffffffff19166001604060020a03929092169190911790556040820151816002019080516139e7929160200190614a90565b50606082015160038201805467ffffffffffffffff19166001604060020a039290921691909117905560808201518160030160086101000a8154816001604060020a0302191690836001604060020a0316021790555060a08201518160030160106101000a8154816001604060020a0302191690836001604060020a0316021790555060c082015160038201805478ff000000000000000000000000000000000000000000000000191660c060020a836002811115613aa257fe5b02179055505050508092505b50509695505050505050565b6000806000613acc6001878787614455565b9250846001604060020a0316866001604060020a03161415613aed57612306565b821515613af957612306565b613b0286613428565b9150613b0d85613428565b825490915083901015613b1f57600080fd5b815483900382558054830181556001604060020a038086169087167feef5653f9c567b23a97bcfb111bfa6b076a95be73d85d161b4c57149c77b48018560405190815260200160405180910390a3613b7a6000878786614455565b505b505050505050565b8060200151600160a060020a031633600160a060020a03161480613bbd57508060e00151600160a060020a031633600160a060020a0316145b151561288c57600080fd5b5b50565b600061131e826000604051805910612de15750595b908082528060200260200182016040525b506000806000806137c8565b905061132b848285613aba565b5b50505050565b6000806000613c2086613428565b92506014613d548460e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613cee57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613cab5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613d4157fe5b6002811115613d4c57fe5b90525061447d565b10613d5e57600080fd5b6001830154600284018054613e16926001604060020a03169190602080820201604051908101604052809291908181526020018280548015611ef257602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411611eaf5790505b505050506003870154600091508190608060020a90046001604060020a0316816137c8565b9150613e48846000604051805910611f3b5750595b908082528060200260200182016040525b506000808660006137c8565b9050612306868287613aba565b5b505050505050565b6000613e6861491c565b600080613e7487613428565b600281015490945060149010613e8957600080fd5b6002840154600101604051805910613e9e5750595b908082528060200260200182016040525b509250600091505b6002840154821015613f2c5760028401805483908110613ed357fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a0316838381518110613f0957fe5b6001604060020a039092166020928302909101909101525b600190910190613eb7565b60028401548590849081518110613f3f57fe5b6001604060020a039283166020918202909201015260018501546003860154613f7b929182169186916000918291608060020a900416816137c8565b9050613b7a878288613aba565b5b50505050505050565b6000805b836040015151811015613fe757826001604060020a031684604001518281518110613fbd57fe5b906020019060200201516001604060020a03161415613fde57809150613ff2565b5b600101613f96565b6001604060020a0391505b5092915050565b600061400361491c565b60008061400f87613428565b60028101549094508590036040518059106140275750595b908082528060200260200182016040525b509250600091505b60028401548590038210156140b8576002840180548390811061405f57fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031683838151811061409557fe5b6001604060020a039092166020928302909101909101525b600190910190614040565b60018401546003850154613f7b916001604060020a039081169186916000918291608060020a90910416816137c8565b9050613b7a878288613aba565b5b50505050505050565b60008061410b85613428565b9150601461423f8360e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613cee57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613cab5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613d4157fe5b6002811115613d4c57fe5b90525061447d565b1061424957600080fd5b6001820154600283018054614439926001604060020a031691906020808202016040519081016040528092919081815260200182805480156142dc57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116142995790505b5050505050856144128660e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a03168152602001600282018054806020026020016040519081016040528092919081815260200182805480156143ac57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a0316815260200190600801906020826007010492830192600103820291508084116143695790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff1660028111156143ff57fe5b600281111561440a57fe5b9052506145e8565b61441a61444e565b6003880154910190608060020a90046001604060020a031660006137c8565b905061173e858286613aba565b5b5050505050565b6004545b90565b80614463858580868561467b565b9050614472858486868561467b565b90505b949350505050565b6000808260a001516001604060020a0316151561449d57600091506125aa565b6144aa8360a00151613428565b90506145dc8160e06040519081016040529081600082015481526020016001820160009054906101000a90046001604060020a03166001604060020a03166001604060020a0316815260200160028201805480602002602001604051908101604052809291908181526020018280548015613cee57602002820191906000526020600020906000905b82829054906101000a90046001604060020a03166001604060020a031681526020019060080190602082600701049283019260010382029150808411613cab5790505b505050918352505060038201546001604060020a038082166020840152604060020a820481166040840152608060020a820416606083015260809091019060c060020a900460ff166002811115613d4157fe5b6002811115613d4c57fe5b90525061447d565b60010191505b50919050565b60008060006145fa8460200151613471565b60038101546001604060020a031693509150600090505b836040015151811015612b22576146408460400151828151811061463157fe5b90602001906020020151613471565b60038101549092506001604060020a03168390111561466a5760038201546001604060020a031692505b5b600101614611565b5b5050919050565b600080600080866001604060020a0316886001604060020a0316146146a2576101006146a5565b60005b61ffff1692508493506146b788613428565b60018101549092506146d7908a906001604060020a03168989878961479c565b9350600090505b60028201546001604060020a0382161015614754576147498983600201836001604060020a031681548110151561471157fe5b90600052602060002090600491828204019190066008025b9054906101000a90046001604060020a031689898588016001018961479c565b93505b6001016146de565b600382015460006001604060020a03909116111561478f57600382015461478c908a906001604060020a0316898960ff88018961479c565b93505b5b50505095945050505050565b806000806147a988613471565b6004810154909150600160a060020a0316158015906147c85750600083115b15613aae578815614883576004810154600160a060020a031663d4edf5e5898989898960006040516020015260405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401602060405180830381600087803b151561485257600080fd5b6102c65a03f1151561486357600080fd5b50505060405180519250508282111561487b57600080fd5b819250613aae565b6004810154600160a060020a031663ad1483c3898989898960405160e060020a63ffffffff88160281526001604060020a039586166004820152938516602485015291841660448401529092166064820152608481019190915260a401600060405180830381600087803b15156148f957600080fd5b6102c65a03f1151561490a57600080fd5b5050505b5b5b50509695505050505050565b60206040519081016040526000815290565b81548183558181151161495a5760050281600502836000526020600020918201910161495a9190614b5a565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149a157805160ff19168380011785556149ce565b828001600101855582156149ce579182015b828111156149ce5782518255916020019190600101906149b3565b5b506149db929150614bec565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149a157805160ff19168380011785556149ce565b828001600101855582156149ce579182015b828111156149ce5782518255916020019190600101906149b3565b5b506149db929150614bec565b5090565b81548183558181151161495a5760040281600402836000526020600020918201910161495a9190614c0d565b5b505050565b82805482825590600052602060002090600301600490048101928215614b385791602002820160005b83821115614b0357835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302614ab9565b8015614b365782816101000a8154906001604060020a030219169055600801602081600701049283019260010302614b03565b505b506149db929150614c74565b5090565b60206040519081016040526000815290565b6111ea91905b808211156149db57805474ffffffffffffffffffffffffffffffffffffffffff191681556000614b936001830182614ca0565b614ba1600283016000614ca0565b5060038101805470ffffffffffffffffffffffffffffffffff1916905560048101805473ffffffffffffffffffffffffffffffffffffffff19169055600501614b60565b5090565b90565b6111ea91905b808211156149db5760008155600101614bf2565b5090565b90565b6111ea91905b808211156149db57600080825560018201805467ffffffffffffffff19169055614c406002830182614ce8565b5060038101805478ffffffffffffffffffffffffffffffffffffffffffffffffff19169055600401614c13565b5090565b90565b6111ea91905b808211156149db57805467ffffffffffffffff19168155600101614c7a565b5090565b90565b50805460018160011615610100020316600290046000825580601f10614cc6575061288c565b601f01602090049060005260206000209081019061288c9190614bec565b5b50565b50805460008255600301600490049060005260206000209081019061288c9190614bec565b5b505600a165627a7a72305820b4d2d2b9105fbd4c565e64eee069d65585c8a26e61c081b474c5136ec81015290029" exports.VaultAbi = [{"constant":false,"inputs":[{"name":"_ref","type":"bytes32"},{"name":"_dest","type":"address"},{"name":"_amount","type":"uint256"}],"name":"authorizePayment","outputs":[],"payable":false,"type":"function"},{"payable":true,"type":"fallback"}] exports.VaultByteCode = "0x" exports._solcVersion = "0.4.15+commit.bbb8e64f.Emscripten.clang" -exports._sha256 = "0xb28a8033b7f7bd4a0a75fd7b680721dec5b2325565d8f53ecdeed41798ffba24" +exports._sha256 = "0x3ae9ce1189c61a1addb139cf37c46c74e821317ebf721f113ff25148d8203586" diff --git a/build/LiquidPledgingMock_all.sol b/build/LiquidPledgingMock_all.sol index aa6e564..08e04ab 100644 --- a/build/LiquidPledgingMock_all.sol +++ b/build/LiquidPledgingMock_all.sol @@ -19,16 +19,16 @@ contract ILiquidPledgingPlugin { /// ... /// 511 -> Plugin for the intendedCampaign receiving pledge to another party function beforeTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount ) returns (uint maxAllowed); function afterTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount); } @@ -314,7 +314,7 @@ contract LiquidPledgingBase { /// created in this system yet then it wouldn't be in the hash array /// hPledge2idx[]; this creates a Pledge with and amount of 0 if one is not /// created already... - function findPledge( + function findOrCreatePledge( uint64 owner, uint64[] delegationChain, uint64 intendedCampaign, @@ -453,7 +453,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { require(amount > 0); vault.transfer(amount); // transfers the baseToken to the Vault - uint64 idPledge = findPledge( + uint64 idPledge = findOrCreatePledge( idGiver, new uint64[](0), //what is new? 0, @@ -571,7 +571,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { checkAdminOwner(owner); - uint64 idNewPledge = findPledge( + uint64 idNewPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, @@ -596,7 +596,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // Check the campaign is not canceled in the while. require(getOldestPledgeNotCanceled(idPledge) == idPledge); - uint64 idNewPledge = findPledge( + uint64 idNewPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, @@ -617,7 +617,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { require(n.paymentState == PaymentState.Paying); //TODO change to revert // When a payment is canceled, never is assigned to a campaign. - uint64 oldPledge = findPledge( + uint64 oldPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, @@ -715,14 +715,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { Pledge storage n = findPledge(idPledge); require(getPledgeLevel(n) < MAX_INTERCAMPAIGN_LEVEL); - uint64 oldPledge = findPledge( + uint64 oldPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, 0, n.oldPledge, PaymentState.Pledged); - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( idReceiver, new uint64[](0), 0, @@ -733,7 +733,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { } function transferOwnershipToGiver(uint64 idPledge, uint amount, uint64 idReceiver) internal { - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( idReceiver, new uint64[](0), 0, @@ -755,7 +755,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // Make the last item in the array the idReceiver newDelegationChain[n.delegationChain.length] = idReceiver; - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( n.owner, newDelegationChain, 0, @@ -772,7 +772,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { for (uint i=0; i 0) && ( getTime() > n.commitTime)) { - uint64 oldPledge = findPledge( + uint64 oldPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, 0, n.oldPledge, PaymentState.Pledged); - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( n.intendedCampaign, new uint64[](0), 0, diff --git a/build/LiquidPledging_all.sol b/build/LiquidPledging_all.sol index 57519a6..5e29372 100644 --- a/build/LiquidPledging_all.sol +++ b/build/LiquidPledging_all.sol @@ -19,16 +19,16 @@ contract ILiquidPledgingPlugin { /// ... /// 511 -> Plugin for the intendedCampaign receiving pledge to another party function beforeTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount ) returns (uint maxAllowed); function afterTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount); } @@ -314,7 +314,7 @@ contract LiquidPledgingBase { /// created in this system yet then it wouldn't be in the hash array /// hPledge2idx[]; this creates a Pledge with and amount of 0 if one is not /// created already... - function findPledge( + function findOrCreatePledge( uint64 owner, uint64[] delegationChain, uint64 intendedCampaign, @@ -453,7 +453,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { require(amount > 0); vault.transfer(amount); // transfers the baseToken to the Vault - uint64 idPledge = findPledge( + uint64 idPledge = findOrCreatePledge( idGiver, new uint64[](0), //what is new? 0, @@ -571,7 +571,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { checkAdminOwner(owner); - uint64 idNewPledge = findPledge( + uint64 idNewPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, @@ -596,7 +596,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // Check the campaign is not canceled in the while. require(getOldestPledgeNotCanceled(idPledge) == idPledge); - uint64 idNewPledge = findPledge( + uint64 idNewPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, @@ -617,7 +617,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { require(n.paymentState == PaymentState.Paying); //TODO change to revert // When a payment is canceled, never is assigned to a campaign. - uint64 oldPledge = findPledge( + uint64 oldPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, @@ -715,14 +715,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { Pledge storage n = findPledge(idPledge); require(getPledgeLevel(n) < MAX_INTERCAMPAIGN_LEVEL); - uint64 oldPledge = findPledge( + uint64 oldPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, 0, n.oldPledge, PaymentState.Pledged); - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( idReceiver, new uint64[](0), 0, @@ -733,7 +733,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { } function transferOwnershipToGiver(uint64 idPledge, uint amount, uint64 idReceiver) internal { - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( idReceiver, new uint64[](0), 0, @@ -755,7 +755,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // Make the last item in the array the idReceiver newDelegationChain[n.delegationChain.length] = idReceiver; - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( n.owner, newDelegationChain, 0, @@ -772,7 +772,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { for (uint i=0; i 0) && ( getTime() > n.commitTime)) { - uint64 oldPledge = findPledge( + uint64 oldPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, 0, n.oldPledge, PaymentState.Pledged); - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( n.intendedCampaign, new uint64[](0), 0, diff --git a/contracts/ILiquidPledgingPlugin.sol b/contracts/ILiquidPledgingPlugin.sol index 2edcb43..78d1c4f 100644 --- a/contracts/ILiquidPledgingPlugin.sol +++ b/contracts/ILiquidPledgingPlugin.sol @@ -17,16 +17,16 @@ contract ILiquidPledgingPlugin { /// ... /// 511 -> Plugin for the intendedCampaign receiving pledge to another party function beforeTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount ) returns (uint maxAllowed); function afterTransfer( - uint64 noteManager, - uint64 noteFrom, - uint64 noteTo, + uint64 pledgeManager, + uint64 pledgeFrom, + uint64 pledgeTo, uint64 context, uint amount); } diff --git a/contracts/LiquidPledging.sol b/contracts/LiquidPledging.sol index 4fc7b16..d6726fb 100644 --- a/contracts/LiquidPledging.sol +++ b/contracts/LiquidPledging.sol @@ -38,7 +38,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { require(amount > 0); vault.transfer(amount); // transfers the baseToken to the Vault - uint64 idPledge = findPledge( + uint64 idPledge = findOrCreatePledge( idGiver, new uint64[](0), //what is new? 0, @@ -156,7 +156,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { checkAdminOwner(owner); - uint64 idNewPledge = findPledge( + uint64 idNewPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, @@ -181,7 +181,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // Check the campaign is not canceled in the while. require(getOldestPledgeNotCanceled(idPledge) == idPledge); - uint64 idNewPledge = findPledge( + uint64 idNewPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, @@ -202,7 +202,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { require(n.paymentState == PaymentState.Paying); //TODO change to revert // When a payment is canceled, never is assigned to a campaign. - uint64 oldPledge = findPledge( + uint64 oldPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, @@ -300,14 +300,14 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { Pledge storage n = findPledge(idPledge); require(getPledgeLevel(n) < MAX_INTERCAMPAIGN_LEVEL); - uint64 oldPledge = findPledge( + uint64 oldPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, 0, n.oldPledge, PaymentState.Pledged); - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( idReceiver, new uint64[](0), 0, @@ -318,7 +318,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { } function transferOwnershipToGiver(uint64 idPledge, uint amount, uint64 idReceiver) internal { - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( idReceiver, new uint64[](0), 0, @@ -340,7 +340,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { // Make the last item in the array the idReceiver newDelegationChain[n.delegationChain.length] = idReceiver; - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( n.owner, newDelegationChain, 0, @@ -357,7 +357,7 @@ function donate(uint64 idGiver, uint64 idReceiver) payable { for (uint i=0; i 0) && ( getTime() > n.commitTime)) { - uint64 oldPledge = findPledge( + uint64 oldPledge = findOrCreatePledge( n.owner, n.delegationChain, 0, 0, n.oldPledge, PaymentState.Pledged); - uint64 toPledge = findPledge( + uint64 toPledge = findOrCreatePledge( n.intendedCampaign, new uint64[](0), 0, diff --git a/contracts/LiquidPledgingBase.sol b/contracts/LiquidPledgingBase.sol index fb33e9d..0a82936 100644 --- a/contracts/LiquidPledgingBase.sol +++ b/contracts/LiquidPledgingBase.sol @@ -278,7 +278,7 @@ contract LiquidPledgingBase { /// created in this system yet then it wouldn't be in the hash array /// hPledge2idx[]; this creates a Pledge with and amount of 0 if one is not /// created already... - function findPledge( + function findOrCreatePledge( uint64 owner, uint64[] delegationChain, uint64 intendedCampaign,